有一個字元陣列的內容為:"student a am i", 請你將陣列的內容改為"i am a student".
阿新 • • 發佈:2018-12-25
//有一個字元陣列的內容為:"student a am i", // 請你將陣列的內容改為"i am a student". #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> void reverse_string(char str[], int len){ int left = 0; char temp = ' '; int right = len - 1; while (left<right){ temp = str[right]; str[right] = str[left]; str[left] = temp; left++; right--; } } void reverse(char* left,char* right){ char temp = ' '; while (left<right){ temp = *right; *right = *left; *left = temp; left++; right--; } } void reverse_word(char str[]){ char* left = str; char* right = str; while (*right){ //反轉每一個單詞 left = right; while ((*right != ' ') && (*right != '\0')){ right++; } right--; reverse(left, right); right++; if (*right == ' '){ right++; } } } int main() { char str[] = "student a am i"; int len = (sizeof(str)-1) / sizeof(str[0]); reverse_string(str, len); reverse_word(str); printf("%s", str); system("pause"); return 0; }