首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >锻炼自学帮助

锻炼自学帮助
EN

Stack Overflow用户
提问于 2010-08-31 05:47:21
回答 5查看 548关注 0票数 1

我已经开始学习C++,并且正在通过C++入门+的一些练习。

在第五章中,其中一项练习是:

编写了一个程序,该程序使用一个字符数组和一个循环一次读取一个单词,直到输入该单词为止。然后,程序应该报告输入的字数(不包括已完成的字数)。示例运行可能如下所示:

输入单词(要停止,键入单词完成):食蚁兽生日类别,垃圾箱,嫉妒猎犬几何学做,以确保你输入了总共7个单词。

您应该包含cstring头文件并使用strcmp()函数进行比较测试。

很难弄明白这点。如果我可以使用if语句和逻辑运算符,就会容易得多,但我仅限于使用:

  1. Loops
  2. Relational Expressions
  3. char阵列

不允许分支状态(如,case/switch )和逻辑运算符。

有谁能给我暗示把我推向正确的方向吗?

编辑:澄清。输入必须是一个字符串。所以,一个输入需要几个单词。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-08-31 06:03:05

编辑: oops,spec说要读取到char…数组中我不会费心编辑的,这太蠢了。std::string也包含一个char数组!

代码语言:javascript
运行
复制
cin.exceptions( ios::badbit ); // avoid using if or && to check error state

int n;
string word;
for ( n = 0; cin >> word, strcmp( word.c_str(), "done" ) != 0; ++ n ) ;

我更喜欢

代码语言:javascript
运行
复制
string word;
int n;
for ( n = 0; cin && ( cin >> word, word != "done" ); ++n ) ;
票数 2
EN

Stack Overflow用户

发布于 2010-08-31 05:50:30

使用这个伪代码:

代码语言:javascript
运行
复制
while (input != done) 
  do things
end-while
票数 2
EN

Stack Overflow用户

发布于 2010-08-31 05:49:50

提示:循环也可以作为条件.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3606319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档