代码解析:
首先,引入了必要的头文件,包括iostream、string和sstream。这些头文件分别用于输入输出操作、字符串处理和字符串流处理。
接下来,定义了一个reverseWord函数,它接受一个字符串word作为参数,并返回反转后的单词。在函数内部,我们使用一个循环从单词的最后一个字符开始逆序遍历,并将字符依次添加到反转后的字符串reversedWord中。
然后,定义了一个reverseSentence函数,它接受一个字符串sentence作为参数,并返回反转后的句子。在函数内部,使用字符串流istringstream将输入的句子分割为单词。然后,遍历每个单词并调用reverseWord函数进行单词反转,在每个单词反转后,我们将其添加到反转后的句子reversedSentence中。
在主函数main中,我们首先使用getline函数从标准输入中读取整行输入的句子,并将其存储在变量sentence中。
接下来,我们调用reverseSentence函数对句子进行反转,并将结果存储在变量reversedSentence中。
最后,使用cout对象输出反转后的句子,并在行尾输出换行符。
参考代码:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string reverseWord(const string& word) {
string reversedWord = "";
for (int i = word.length() - 1; i >= 0; i--) {
reversedWord += word[i];
}
return reversedWord;
}
string reverseSentence(const string& sentence) {
istringstream iss(sentence);
string word;
string reversedSentence = "";
bool isFirstWord = true;
while (iss >> word) {
if (isFirstWord) {
isFirstWord = false;
} else {
reversedSentence += " ";
}
reversedSentence += reverseWord(word);
}
return reversedSentence;
}
int main() {
string sentence;
getline(cin, sentence);
string reversedSentence = reverseSentence(sentence);
cout << reversedSentence << endl;
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复