给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
const int MAX_SIZE = 90;
int main(){
char str[MAX_SIZE];
//gets(str);//PAT在cpp中限制
//int len=strlen(str);
//int len=0;
//while(scanf("%c",str+len)!= EOF) len++;//一次一定要读一行,因为末尾有换行符,单独读字符处理不了c语言用gets(),c++用getline
cin.getline(str,MAX_SIZE);
int len=strlen(str);
int i,j=len;//i为当前扫描下标,j保存上次空格下标
for(i=len-1;i>=0;i--){
if(str[i]==' '){
for(int k=i+1;k<j;k++) printf("%c",str[k]);
j=i;
printf(" ");
}
}
for(int k=i+1;k<j;k++) printf("%c",str[k]);
return 0;
}