描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。 输入 输入为一个字符串(字符串长度至多为100)。 输出 输出为按要求排序后的字符串。 样例输入 I am a student 样例输出 student a am I #include<stdio.h> #include<string.h> int main() { /***********先全部倒叙****************/ char ch_arr[101]; gets(ch_arr); int len; len=strlen(ch_arr); int m,n; char temp1; for(m=len,n=0;m>(len+1)/2;m--,n++) { temp1=ch_arr[m-1]; ch_arr[m-1]=ch_arr[n]; ch_arr[n]=temp1; } /***********先全部倒叙****************/ /***********单词翻转****************/ char *q; q=ch_arr; while(*q!='\0') { q++; } *q=' '; char *p; p=ch_arr; int count=0; int i=0,j=0; int k=0; char temp; for(;*p!='\0';p++) { if(*p==' ') {k=j; for(;i<(count-k+1)/2;i++,j++){ temp=ch_arr[count-1-i]; ch_arr[count-1-i]=ch_arr[j]; ch_arr[j]=temp; } i=0; j=count+1; } count++; } *q='\0'; /***********单词翻转****************/ printf("%s", ch_arr); return 0; }