给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
思路:
先用gets将字符串读取进来,从后往前看,输出一个字符时,把字符前面的地方变成结束字符,下次就可直接用printf输出%s
直接贴代码:
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
char str[100];
gets(str + 1); //从str[1]开始读取字符串;
str[0] = ' ';
for (int i = strlen(str); i >= 0; i--)
{
if (str[i] == ' ')
{
printf("%s", str + i + 1);
if (i != 0)
printf(" "); //如果不是第一个单词,则需要输出空格;
//将空格变为字符串结束符,方便按"%s"输出。不知道为什么使str[i]=0;也是可以的。
str[i] = '\0';
}
}
return 0;
}
PAT乙级—说反话(参考)
最新推荐文章于 2022-10-30 16:26:28 发布