代码解析:

首先,引入了必要的头文件,包括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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论