C语言实现英文语句中单词翻转

实现功能,输入:I am a student 程序处理后输出结果:student a am I

程序:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include<string.h>
 4 
 5 int main()
 6 {
 7     void strShift(char *str,char *str1);
 8     char str[100];
 9     char str1[100];
10     gets(str);
11     strShift(str,str1);
12     puts(str1);
13     return 0;
14 }
15 
16 void strShift(char *str,char *str1)
17 {
18     char *s=str;
19     int count=1,num=0,i=0,j=0;
20     for(;*s!='\0';s++)
21     {
22         if(*s==' ' && *(s+1)!=' ')
23         count++;
24 
25     }
26     printf("%d\n",count);
27     s=s-1;
28     while(s>=str)
29     {
30         if(*s!=' ')
31         num++;
32         else
33         {
34             j=num;
35             for(i=1;i<=num;j--,i++)
36             {
37                 *(str1-j)=*(s+i);
38             }
39             *str1=*s;
40             num=0;
41         }
42         s--;
43         str1++;
44     }
45     for(i=1,j=num;i<=num;j--,i++)
46     {
47         *(str1-j)=*(s+i);
48     }
49     *str1='\0';
50 }

与君共勉。。

原文地址:https://www.cnblogs.com/nannanITeye/p/3130794.html