英文句子逆序
题目:
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符。
思路:找到空格,设置断点,循环。
方法 1 :
#include<stdio.h>
#include<string.h>
int main(){
char a[10000];
int i,len,t;
gets(a);
len=strlen(a);
for(i=len-1;i>=0;i--){
if(a[i]==' '){
t=i+1;
for(;t<len;t++){
if(a[t]==' ') break;
printf("%c",a[t]);
}
printf(" ");
}
}
i=0;
while(a[i]!=' '){
printf("%c",a[i]);
i++;
}
return 0;
}
方法 2 :
#include<stdio.h>
#include<string.h>
int main(){
char a[1000];
int i,k=0,t;
gets(a);
for(i=strlen(a)-1;i>=0;){
while(a[i]!=' '){
i--;
k++;
}
if(i<0) break;
t=i+1;
while(a[i]==' '){
i--;
}
while(k!=0){
printf("%c",a[t]);
t++;
k--;
}
printf(" ");
}
i=0;
while(a[i]!=' '){
printf("%c",a[i]);
i++;
}
return 0;
}