C++primer第五版 统计从cin读入的文本中元音字母、空格、制表符和换行符的数量

该题目是为了练习switch语句的使用,先附上代码: 

// primer_5_3_2.cpp : Defines the entry point for the application.
// 统计从cin读入的文本中元音字母、空格、制表符和换行符的数量。

#include "stdafx.h"
#include<iostream>
using namespace std;

int main()
{
	int vowel=0,space=0,tab=0,enter=0;  //定义变量统计各类字符个数
	char ch;
	cout << "input the text: ('#'to over)" << endl;  //提示输入文本,以'#'作为结束符
	while((ch=cin.get())!='#')  //逐字符进行判断,如果不是'#',则进行下面操作
	{
		switch(ch)  //switch语句
		{
		    case 'a':  //以下十个字母都属于元音,因此无论是哪一个,元音计数变量都应加1
		    case 'e':
		    case 'i':
		    case 'o':
		    case 'u':
		    case 'A':
		    case 'E':
		    case 'I':
		    case 'O':
		    case 'U':
		        vowel++;
		        break;
		    case ' ':  //如果是空格
	                space++;
		        break;
		    case '\t':  //如果是制表符
    			tab++;
		    	break;
		    case '\n':  //如果是回车符
		    	enter++;
		    	break;
		}
	}
	cout << "there are " << vowel << " vowels" << endl;  //输出结果
	cout << "there are " << space << " spaces" << endl;
	cout << "there are " << tab << " tabs" << endl;
	cout << "there are " << enter << " enters" << endl;
	system("pause");
	return 0;
}



效果如下:

需要注意的是,只要没有遇到break,则case分支会依次执行,例如判断元音的十句代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值