题解 | #单词倒排#

单词倒排

https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <cctype>

int main() {
    std::string str;//声明了一个名为 str 的字符串变量,用于存储从输入中读取的文本。
    std::vector<std::string> words;//声明了一个名为 words 的字符串向量,用于存储从 str 中分割出来的单词。
    std::getline(std::cin, str);
  //是一个函数调用,它从标准输入(通常是键盘输入)读取一行文本,直到遇到换行符 \n,并将读取的内容存储在 str 变量中。std::cin 是C++标准库中定义的输入流,用于从标准输入读取数据。
    for (int i = 0; i < str.size(); i++) {
        if (!std::isalpha(str[i])) {
            str[i] = ' ';
        }
    }//遍历字符串 str 中的每个字符,如果字符不是字母,则将其替换为一个空格。
    std::stringstream input(str);//创建了一个 stringstream 对象 input,并将字符串 str 作为其初始内容。这意味着 input 现在包含了 str 中的字符,并且可以像处理流一样从中读取数据。
    std::string word;//声明了一个名为 word 的 std::string 类型的变量,用于存储从 input 中读取的单词。
    while (input >> word) {
        words.push_back(word);
    }//使用 std::stringstream 对象 input 逐个提取单词并将其添加到 std::vector<std::string> 类型的 words 向量中的过程。
  //while (input >> word):这是一个循环,它将持续执行,直到 input 中没有更多的输入可以提取。input >> word 是一个输入流操作符,它尝试从 input 中读取下一个单词,并将其存储在 word 变量中。如果成功读取,循环将继续;如果没有更多的输入可以读取,循环将终止。
  //words.push_back(word);:这行代码将当前读取的单词 word 添加到 words 向量的末尾。push_back 是 std::vector 类型的一个成员函数,用于在向量末尾添加元素。
    for (int i = words.size() - 1; i > 0; i--) {
        std::cout << words[i] << " ";
    }//这个循环初始化索引 i 为 words 向量的最后一个元素的索引(words.size() - 1),条件 i > 0 确保循环不会包括第一个元素(索引为0的元素),每次循环 i 减1(i--)。
//std::cout << words[i] << " ";:在这行代码中,使用 std::cout 输出当前索引 i 处的单词,后面跟着一个空格。这样做会在打印单词之后添加一个空格,但在最后一个单词之后不会打印空格,因为循环条件保证了当 i 减到1时循环会终止。
  std::cout << words[0];//将 words 向量中的第一个元素(索引为0的元素)打印到标准输出(通常是控制台)。在C++中,std::cout 是用于输出的流对象,而 words[0] 则是访问向量中第一个元素的语法。
    return 0;
}

将非字母字符替换为空格,然后读取单词,并将它们除了第一个单词外反向打印一次,最后打印第一个单词。

std::string str; 声明了一个名为 str 的字符串变量,用于存储从输入中读取的文本。

std::vector<std::string >words; 声明了一个名为 words 的字符串向量,用于存储从 str 中分割出来的单词。

std::getline(std::cin, str); 是一个函数调用,它从标准输入(通常是键盘输入)读取一行文本,直到遇到换行符 \n,并将读取的内容存储在 str 变量中。std::cin 是C++标准库中定义的输入流,用于从标准输入读取数据。

全部评论

相关推荐

牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务