1009 说反话 (20分)

题目链接https://pintia.cn/problem-sets/994805260223102976/problems/994805314941992960

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

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

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

样例输入
Hello World Here I Come

样例输出
Come I Here World Hello

代码

方法一:

#include<stdio.h>
	int main() {
		char a[80][80];
		int i = 0;
		while(scanf("%s", a[i]) != EOF)
			i++;
		for(i--; i >= 0; i--){
			printf("%s", a[i]);
			if(i > 0)
				printf(" ");
		}
		return 0;

方法二:

#include<stdio.h>
#include<string.h>

	int main() {
		char str[90];
		gets(str);
		int len = strlen(str), r = 0, h = 0, i;
		char ans[90][90] = {0};
		for(i = 0; i < len; i++) {
			if(str[i] != ' ')
				ans[r][h++] = str[i];
			else{
				ans[r][h] = '\0';
				r++;
				h = 0;
			}
		}
		for(i = r; i >= 0; i--){
			printf("%s", ans[i]);
			if(i > 0)
				printf(" ");
		}
		return 0;
	}
发布了97 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Rhao999/article/details/104007442
今日推荐