- 一、原题题目
- 二、解题思路
- 三、代码实现
- 四、题目总结
一、原题题目
原题链接在这里
哎呀呀,是我想复杂了,什么用二维数组的第二维度或另开辟一个数组用来存放每个单词,其实不用的。。。
正确的思路是多定义一个变量作下标,倒着遍历每个字母(用一个 if 看是否存在空格来判断本次遍历是否为原句的第一个单词),每到达一个空格就从这个位置开始顺序遍历输出,直到下一个空格结束,这样就算是倒着输出每个单词了。最后别忘了最后输出原句第一个单词。
三、代码实现#include四、题目总结#include int main() { char a[110]; gets(a); for (int i = strlen(a)-1, j = strlen(a)-1; i >= 0; i --) if (a[i] == ' ') { j = i+1; for (int k = j; k < strlen(a) && a[k] != ' '; k ++) printf("%c", a[k]); printf(" "); } for (int i = 0; a[i] != ' '; i ++) printf("%c", a[i]); return 0; }
还是应了那句话:C语言是一个入门语言,这要放在 C++,呵~
尚明昊学长这样写 @diviner_s
还有大佬这样写
赶紧的,把C语言赶紧过一遍,然后用 C++ 刷题了!!!



