C++ Primer Plus 第五版 第六章 编程练习 7

..                       = =#
  1. /*  第六章 编程练习 7
  2.         编写一个程序,它每次读取一个单词,直到用户只输入q.然后,该程序指出有多少个单词以元音打头,有多少个
  3.     单词以辅音打头,还有多少格单词不属于这类. 为此,方法之一是,使用isalpha()来区分以字母和其他字符打头的
  4.     单词,然后对于通过了isalpha()测试的单词,使用if或switch语句来确定哪些以元音打头.
  5.     该程序的运行情况如下:
  6.     Enter words (q to exit):
  7.     The 12 awesome oxen ambled
  8.     quietly across 15 meters of lawn. q
  9.     5 words beginning with vowels
  10.     4 words beginning with consonants
  11.     2 others
  12.     a,o,e,i.u是元音,其余的都是辅音
  13. */
  14. #include <iostream>
  15. #include <cctype>
  16. using namespace std;
  17. int main()
  18. {
  19.     int YuanYin=0;
  20.     int FuYin=0;
  21.     int Others=0;
  22.     char str[80];                           //还是不会怎么用 STRING...........
  23.     bool end=false;                             //..放一个BOOL变量控制循环...
  24.     cout <<"Enter words (q to exit):/n";
  25.     while (cin>>str  && false == end )          //
  26.     {
  27. //      cout <<str<<endl;
  28.         if (isalpha(str[0])>0)
  29.         {
  30.             switch (str[0])
  31.             {
  32.             case 'a':
  33.             case 'o':
  34.             case 'e':
  35.             case 'i':
  36.             case 'u':
  37.             case 'A':
  38.             case 'O':
  39.             case 'E':
  40.             case 'I':
  41.             case 'U':
  42.                 ++YuanYin;
  43.                 break;
  44.             case 'q':
  45.                 if (strlen(str)==1)
  46.                 {
  47.                     end=true;           //读取到单独的Q
  48.                     break;
  49.                 }
  50.             default:
  51.         
  52.                 ++FuYin;
  53.             }
  54.             if (end)
  55.                 break;  //读取到 单独的 Q 跳出循环
  56.             continue;       //否着继续下一次循环
  57.         }
  58.         ++Others;           //非字母
  59.     }
  60.     cout << YuanYin <<" words beginning with vowel/n";
  61.     cout <<FuYin <<" words beginning with consonants/n";
  62.     cout <<Others <<" others/n";
  63.         return 0;
  64. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值