字符数组的翻转
eg:將“student a am i”翻轉變為"i am a student"
思路:將整個數組翻轉,再把每個單詞都翻轉過來就可以了
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> #include <assert.h> //student a am i --> i am a studentvoid MyReverse(char* start, char* end) {assert(start);assert(end);while (start < end){char tmp = *start;*start = *end;*end = tmp;start++;end--;} } int MyStrlen(char arr[]) {int len = 0;char* tmp = arr;while (*tmp != '\0'){len++;tmp++;}return len; }void ReverseStr(char arr[]) {int len = MyStrlen(arr);char* start = arr;char* end = arr + len - 1;MyReverse(start, end);start = arr;end = arr;while (*end != '\0'){while (*end != ' ' && *end != '\0'){end++;}end--;MyReverse(start, end);if (*(end+1) == ' '){MyReverse(start, end);start = end + 2;end = start;}else{end++;}}} void Test() {char arr[] = "student a am i";ReverseStr(arr);//int len = Mystrlen(arr);//MyReverse(arr, arr+len-1);printf("%s\n", arr); }int main() {Test();system("pause");return 0; } 這樣就能達到題目的要求了!!!是不是很簡單呢
總結
- 上一篇: 实时音视频是什么?有哪些新的应用场景
- 下一篇: 3D人物建模到底需要掌握哪些技术,大佬年