1009 说反话 (20 分)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:

测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。

输出格式:

每个测试用例的输出占一行,输出倒序后的句子。

输入样例:

Hello World Here I Come

输出样例:

Come I Here World Hello
#include<stdio.h>
#include<string.h>
void output(char str[],int n);
int main(){
	int i,t;
	char s[81],str[81];
	gets(s);
	if(strlen(s)==1){
		printf("%s",s);
	}else{
		for(i=strlen(s)-1;i>=0;i--){	
		t=0;
		while(s[i]!=' '){
			str[t]=s[i];
			i--;
			if(i==0){
				break;
			}
			t++;
		}
		if(i==0){
			t++;
			str[t]=s[i];
			output(str,t);
		}else{
			output(str,t-1);
		}
		if(i!=0){
			printf(" ");
		}	
	}
	}
	
	return 0;
} 

void output(char str[],int n){
	int k;
	for(k=n;k>=0;k--){
		printf("%c",str[k]);
	}
}
上一篇:PAT乙级1009(C语言)


下一篇:1009 说反话 (20 分)