【发布时间】:2013-12-20 08:03:57
【问题描述】:
我一直在研究我的教授不久前给我们的一个程序,但我遇到了一个逻辑问题,因为我不知道如何准确地做到这一点。我需要在用户输入的句子的每一行输出一个单词。例如,用户输入“Hello World I'm Chris”,程序需要输出: 你好 世界 我是 克里斯
这是我目前所拥有的:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string sentence;
int length;
cout << "Enter the sentence now." << endl;
getline(cin, sentence);
for(int i = 0; i < sentence.length(); i++)
{
if(sentence[i] != '\0')
{
cout << sentence[i];
}
else if(sentence[i] == '\0')
{
cout << endl;
}
}
system("pause");
}
但是,当我运行它时,程序基本上只是输出相同的句子。还有其他方法可以做到这一点吗?非常感谢。
【问题讨论】:
-
你到底是什么意思?我不知道您是在问您是否希望每个单词都显示在新行上,或者您是否只想要同一个句子。如果您想要相同的句子,那么您的代码不是已经这样做了吗?
-
顺便说一下,一个'='表示赋值,两个'=='表示等价。
-
@Lemony-Andrew 该程序需要为每一行输出一个单词,如示例所示。目前程序只输出字符串,但我希望它每行输出一个单词。
-
@ThomasMatthews 谢谢,我确实有这个,只是没有正确复制下来。将代码编辑为类似于我所拥有的。
-
@user3097575 你有没有想过,你的程序正在输出正确的答案,但它全部输出到一行上。改变 cout
标签: c++ string visual-studio-2012 word