#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> void reverse(char* left, char* right) { while (left < right) { char tmp = 0; tmp = *left; *left = *right; *right = tmp; left++; right--; } } int main() { char arr[100] = {0}; //输入 I like beijing. gets(arr); //三步翻转法 //1.字符串整体翻转 //.gnijieb ekil int len = strlen(arr); reverse(arr, arr + len -1); //2.每个单词逆序 //beijing. like I char* start = arr; while (*start) { char* end = start; while (*end != ' ' && *end != '\0') { end++; } //逆序一个单词 reverse(start, end - 1); if (*end == ' ') start = end + 1; else start = end; } printf("%s", arr); return 0; }
浙公网安备 33010602011771号