【发布时间】:2013-09-21 05:44:27
【问题描述】:
这就是我想要做的,这几乎不是我正在制作的整个程序的一小部分。这部分是计算我输入的字数。
string s;
getline(cin, s);
for (unsigned int i = 0; i < s.length(); i++)
{
if (s[i] == ' ' || s[i] == '.')
{
numWords++;
}
}
如果有人输入正确的行,末尾有句点,这显然有效。不过,我想不出如何让它识别行尾字符,以防他们不加句号。
【问题讨论】:
-
换行符 - \n 字符怎么样?另外,我很确定有标准的输入处理函数(对我来说使用 C++ 或 C# 等已经有一段时间了)来处理换行符。最后 - 句号对于行尾来说是一个糟糕的指示符,例如,如果输入包含两个句子怎么办?
-
那不算最后一个字。如果我输入“你好”,它会告诉我 0 个单词
-
不,我想知道输入的总字数。
-
你的代码有什么问题?看来您可以通过查看输入的空格数来计算单词数。然后最后只在总数中加 1。例如:
What is wrong with the code you have?使用您的代码,我得到 7 + 1 = 8 -
“史密斯博士您好。很高兴认识您。” 8 个字,还是 11 个?
标签: c++