#include <stdio.h> |
#include <string.h> |
#define MAX_STRING 200 |
/*字符串翻转,单词翻转算法*/ |
void reverse_string( char str[MAX_STRING], int start, int end) { |
char tmp = 0; |
/* 将整个字符串翻转 */ |
while (start < end) { |
/* 交换两个元素值 */ |
tmp = str[start]; |
str[start] = str[end]; |
str[end] = tmp; |
/* 改变索引值 */ |
++start; |
--end; |
} |
} |
int main( void ) { |
int i = 0; |
int j = 0; |
char str[MAX_STRING] = {0}; |
int length = 0; |
char tmp = 0; |
int start = 0; |
int end = 0; |
i = 0; |
printf ( "Input riginal string:\n" ); |
gets (str); |
length = strlen (str); |
/* 将整个字符串翻转 */ |
reverse_string(str, 0, length - 1); |
printf ( "Step 1:\n" ); |
puts (str); |
i = 0; |
start = 0; |
/* 依次翻转其中的每一个单词 */ |
while (i < length) { |
/* 翻转其中的一个单词 */ |
if (str[i] != ' ' ) { /* 找到单词开头 */ |
start = i; |
while (str[i] != ' ' && str[i] != '\0' ) /* 找到单词结尾 */ |
++i; |
reverse_string(str, start, i - 1); |
} |
++i; |
} |
printf ( "Step 2:\n" ); |
puts (str); |
return 0; |
} |
by: 发表于:2017-08-21 14:29:47 顶(0) | 踩(0) 回复
??
回复评论