5.9:编写一段程序,使用一系列if语句统计从cin读入的文本中有多少元音字母。
#include <iostream>
void main()
{
int acnt = 0, ecnt = 0, icnt = 0, ocnt = 0, ucnt = 0;
char ch;
while (std::cin >> ch){
if (ch == 'a')
++acnt;
else if (ch == 'e')
++ecnt;
else if (ch == 'i')
++icnt;
else if (ch == 'o')
++ocnt;
else if (ch == 'u')
++ucnt;
}
std::cout << "a:" << acnt << std::endl;
std::cout << "e:" << ecnt << std::endl;
std::cout << "i:" << icnt << std::endl;
std::cout << "o:" << ocnt << std::endl;
std::cout << "u:" << ucnt << std::endl;
system("pause");
}
5.10:之前实现的统计元音字母的程序存在一个问题:如果元音字母以大写形式出现,不会被统计在内。编写一段程序,既统计元音字母的小写形式,也统计大写形式,也就是说,新程序遇到'a'和'A'都应该递增acnt的值,以此类推。
#include <iostream>
void main()
{
int acnt = 0, ecnt = 0, icnt = 0, ocnt = 0, ucnt = 0;
char ch;
while (std::cin >> ch){
switch (ch){
case('a') :
case('A') :
++acnt;
break; //负责终止离它最近的while、do while、for或switch语句
case('e') :
case('E') :
++ecnt;
break;
case('i') :
case('I') :
++icnt;
break;
case('o') :
case('O') :
++ocnt;
break;
case('u') :
case('U') :
++ucnt; //若不符合上述情况中的任何一种,继续执行循环,直至循环结束
break;
}
}
std::cout << "a:" << acnt << std::endl;
std::cout << "e:" << ecnt << std::endl;
std::cout << "i:" << icnt << std::endl;
std::cout << "o:" << ocnt << std::endl;
std::cout << "u:" << ucnt << std::