PAT 乙级 (Basic Level) Practice (中文)1009
2019-01-22 17:12
323 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/arthur01p/article/details/86597953
19.01.26 已解决见 PAT 乙级 (Basic Level) Practice (中文)1033
1009 说反话 (20 分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
代码
#include<cstdio> int main(){ int num = 0 ; //单词的个数 char ans[80][80] ; while(scanf("%s", ans[num]) != EOF) { //文件末尾 num++ ; //单词的个数加一 } for(int i = num - 1; i >= 0; i--) { //从后往前输出 printf("%s", ans[i]) ; if(i > 0) printf(" ") ; } return 0; }
附上使用另一种方法的疑问:
#include <cstdio> #include <cstring> int main (){ char str[100]; gets(str); int len = strlen (str), r=0, h=0; char ans [100][100]; for (int i=0; i<len; i++){ if (str[i]!=' '){ ans [r][h++] = str [i]; } else{ ans [r][h] = '\0'; r++; h = 0; } } for (int i = r; i>=0; i--){ printf ("%s", ans[i]); if (i > 0) printf (" "); } return 0; }
Q:
此处说是gets未声明,可是在头文件
#include <cstring>下难道不可以直接使用吗?
19.01.26 已解决见 PAT 乙级 (Basic Level) Practice (中文)1033
相关文章推荐
- PAT 乙级 (Basic Level) Practice (中文)1045
- PAT 乙级 (Basic Level) Practice (中文)1055
- PAT 乙级 (Basic Level) Practice (中文)1056
- PAT乙级真题及训练集 PAT (Basic Level) Practise (中文)1009. 说反话
- PAT 乙级 (Basic Level) Practice (中文)1047
- PAT 乙级 (Basic Level) Practice (中文)1057
- PAT 乙级 (Basic Level) Practice (中文)1007
- PAT 乙级 (Basic Level) Practice (中文)1058
- PAT 乙级 (Basic Level) Practice (中文)1050
- PAT 乙级 (Basic Level) Practice (中文)1059
- PAT 乙级 (Basic Level) Practice (中文)1051
- PAT 乙级 (Basic Level) Practice (中文)1060
- PAT (Basic Level) Practice (中文)1009 说反话
- PAT 乙级 (Basic Level) Practice (中文)1005
- PAT 乙级 (Basic Level) Practice (中文)1052
- PAT 乙级 (Basic Level) Practice (中文)1061
- PAT 乙级 (Basic Level) Practice (中文)1053
- PAT 乙级 (Basic Level) Practice (中文)1030
- PAT 乙级 (Basic Level) Practice (中文)1054
- PAT 乙级 (Basic Level) Practice (中文)1039