我试图做这个练习;
编写一个使用char数组和循环读取一个单词的程序 在输入单词之前的时间。那么该计划应该 报告输入的字数(不计算完成)。样本运行 可能看起来像这样:
输入单词(停止,输入完成的单词):食蚁兽生日类别 垃圾箱羡慕finagle几何完成肯定 你总共输入了7个 词语的
你应该包含cstring头文件并使用strcmp() 功能进行比较测试。
现在,我在谷歌搜索它,每个人都喜欢这样做;在每个单词后按Enter键,当你在写完"完成"后最后进入时,循环停止。
现在,我知道该怎么做。
我想做什么(以及我认为练习实际想要的是),为用户输入一个包含多个单词的单个字符串,(例如:"铅笔冬长句在现在完成旧电影时说话)年轻人没有发生")然后程序应该将空格前的每个单词(""字符)作为一个不同的单词计算,找出"完成"是,并在此之前计算每一个字。
答案 0 :(得分:0)
http://www.cplusplus.com/reference/string/string/getline/ 在按下输入之前会读取一行。您可以在空格字符之间划分字符串的一部分。 '(32 ascii)。 对于单词计数,这将起作用,其中input是一个字符串:
getline(std::cin, input);
int words = 0;
for (int c = 0; c < input.size(); c++) {
while (input[c] != ' ' && c < input.size()) {
c++;
}
words++;
}
另一种方法是: http://www.cplusplus.com/reference/cstring/strcmp/
while(strcmp(tmp.c_str(),"done") != 0){
std::cin>> tmp;
words++;
}
cin自然地停止在每个空间录制字符串