您的位置:首页 > 编程语言 > C语言/C++

C++ Primer(第四版) 课后习题6.8 统计空格制表符换行的数目

2015-01-20 19:45 260 查看
问题:

修改元音统计程序可使其统计读入的空格、制表符和换行的个数

代码:

#include <iostream>

using namespace std;

int main()
{
char ch;
string str;
int aCnt = 0, eCnt = 0, iCnt = 0, oCnt = 0, uCnt = 0, spaceCnt = 0;
int brCnt = 0, tabCnt = 0;
while (cin.get(ch))
{
switch (ch)
{
case 'a':case 'A':
aCnt++;
break;
case 'e':case 'E':
eCnt++;
break;
case 'i':case 'I':
iCnt++;
break;
case 'o':case 'O':
oCnt++;
break;
case 'u':case 'U':
uCnt++;
break;
case ' ':
spaceCnt++;
break;
case '\n':
brCnt++;
break;
case '\t':
tabCnt++;
break;
default:
break;
}
}
cout<<aCnt<<" "<<eCnt<<" "<<iCnt<<" "<<oCnt<<" "<<uCnt<<endl;
cout<<brCnt<<" "<<tabCnt<<" "<<spaceCnt<<endl;
return 0;
}


总结:

(1)cin的>>输入操作符将空字符(空格、tab和回车)当作输入的结束,故使用cin.get(ch)方法,可获得空格、回车和tab等特殊字符。

(2)switch语句中的case标号必须是整型常量表达式,且每一个case语句都要使用break跳出循环。

(3)strstr()搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: