-5

我是一个完整的 C++ 初学者,并且正在尝试执行以下程序:


  1. 从控制台读取一个句子。
  2. 使用空格字符作为分隔符将句子分成单词。
  3. 遍历每个单词,如果该单词是数值,则将其值加倍打印,否则打印出该单词,每个输出都在其自己的行上。

我真的迷失了如何做到这一点。特别是使用空格键作为分隔符。

4

1 回答 1

3

可以有以下内容:

std::stringstream 和_std::getline

std::string str;
std::string temp;
std::getline(std::cin,str);

std::stringstream ss(str);

while(getline(ss,temp, ' ')) // delimiter as space
{
      std::stringstream stream(temp);
      if(stream >> val)
        std::cout<<2*val<<std::endl;
      else 
        std::cout<<temp<<std::endl;
}

演示

于 2013-09-03T17:29:16.943 回答