[C] 翻转字符串 →→→→→进入此内容的聊天室

来自 , 2020-11-12, 写在 C, 查看 133 次.
URL http://www.code666.cn/view/7b4773c0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define MAX_STRING 200
  4.  
  5. int main(void) {
  6.         int i = 0;
  7.         int j = 0;
  8.  
  9.         char str[MAX_STRING] = { 0 };
  10.         int length = 0;
  11.         char tmp = 0;
  12.  
  13.         int start = 0;
  14.         int end = 0;
  15.         i = 0;
  16.  
  17.         printf("Input riginal string:\n");
  18.         gets(str);
  19.         length = strlen(str);
  20.  
  21.         start = 0;
  22.         end = length - 1;
  23.  
  24.         /* 将整个字符串翻转 */
  25.         while (start < end) {
  26.                 /* 交换两个元素值 */
  27.                 tmp = str[start];
  28.                 str[start] = str[end];
  29.                 str[end] = tmp;
  30.  
  31.                 /* 改变索引值 */
  32.                 ++start;
  33.                 --end;
  34.         }
  35.  
  36.         printf("Step 1:\n");
  37.         puts(str);
  38.  
  39.         i = 0;
  40.         start = 0;
  41.  
  42.         /* 依次翻转其中的每一个单词 */
  43.         while (i < length) {
  44.                 /* 翻转其中的一个单词 */
  45.                 if (str[i] != ' ') { /* 找到单词开头 */
  46.                         start = i;
  47.  
  48.                         while (str[i] != ' ' && str[i] != '\0') /* 找到单词结尾 */
  49.                                 ++i;
  50.  
  51.                         end = i - 1;
  52.                         while (start < end) {
  53.                                 /* 交换两个元素值 */
  54.                                 tmp = str[start];
  55.                                 str[start] = str[end];
  56.                                 str[end] = tmp;
  57.  
  58.                                 /* 改变索引值 */
  59.                                 ++start;
  60.                                 --end;
  61.                         }
  62.                 }
  63.                 ++i;
  64.         }
  65.  
  66.         printf("Step 2:\n");
  67.         puts(str);
  68.  
  69.         return 0;
  70. }
  71.  

回复 "翻转字符串"

这儿你可以回复上面这条便签

captcha