鱼C论坛

 找回密码
 立即注册
查看: 1557|回复: 3

[已解决]C++ 用switch语句统计元音数量(具体如下)

[复制链接]
发表于 2021-10-12 20:29:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用switch语句编写程序,统计输入的一串字母中元音字母(a,e,i,o,u)的总个数和每个元音字母出现的次数,当输入“#”时,输入结束。
孩子目前基本只学了选择结构,循环结构和跳转语句
这个作业题实在是没思路
最佳答案
2021-10-12 21:02:17
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.         char b[] = {'a' , 'e' , 'i' , 'o' , 'u'} , c       ;
  5.         int d[] = {0 , 0 , 0 , 0 , 0} , i , m              ;
  6.         printf("enter a sentence please : ")               ;
  7.         for(m = 0 ; (c = getchar()) != '#' ; m ++){
  8.                 if(c >= 'A' && c <= 'Z') c += ' '          ;
  9.                 switch(c) {
  10.                         case 'a' : d[0] ++                 ;
  11.                                    break                   ;
  12.                         case 'e' : d[1] ++                 ;
  13.                                    break                   ;
  14.                         case 'i' : d[2] ++                 ;
  15.                                    break                   ;
  16.                         case 'o' : d[3] ++                 ;
  17.                                    break                   ;
  18.                         case 'u' : d[4] ++                 ;
  19.                                    break                   ;
  20.                 }
  21.         }
  22.         for(i = 0 ; i < 5 ; i ++) {
  23.                 if(d[i]) printf("%c : %d\n" , b[i] , d[i]) ;
  24.         }         
  25. }
复制代码

       编译、运行实况:
  1. D:\00.Excise\C>g++ -o x x.c

  2. D:\00.Excise\C>x
  3. enter a sentence please : aaaAAAAEEEeeeEIIIiiiIIIOOOooooUUUUUUUUUuuuuu#
  4. a : 7
  5. e : 7
  6. i : 9
  7. o : 7
  8. u : 14

  9. D:\00.Excise\C>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-12 21:02:17 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.         char b[] = {'a' , 'e' , 'i' , 'o' , 'u'} , c       ;
  5.         int d[] = {0 , 0 , 0 , 0 , 0} , i , m              ;
  6.         printf("enter a sentence please : ")               ;
  7.         for(m = 0 ; (c = getchar()) != '#' ; m ++){
  8.                 if(c >= 'A' && c <= 'Z') c += ' '          ;
  9.                 switch(c) {
  10.                         case 'a' : d[0] ++                 ;
  11.                                    break                   ;
  12.                         case 'e' : d[1] ++                 ;
  13.                                    break                   ;
  14.                         case 'i' : d[2] ++                 ;
  15.                                    break                   ;
  16.                         case 'o' : d[3] ++                 ;
  17.                                    break                   ;
  18.                         case 'u' : d[4] ++                 ;
  19.                                    break                   ;
  20.                 }
  21.         }
  22.         for(i = 0 ; i < 5 ; i ++) {
  23.                 if(d[i]) printf("%c : %d\n" , b[i] , d[i]) ;
  24.         }         
  25. }
复制代码

       编译、运行实况:
  1. D:\00.Excise\C>g++ -o x x.c

  2. D:\00.Excise\C>x
  3. enter a sentence please : aaaAAAAEEEeeeEIIIiiiIIIOOOooooUUUUUUUUUuuuuu#
  4. a : 7
  5. e : 7
  6. i : 9
  7. o : 7
  8. u : 14

  9. D:\00.Excise\C>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-13 20:44:19 | 显示全部楼层
jackz007 发表于 2021-10-12 21:02
编译、运行实况:
  1. if(c >= 'A' && c <= 'Z') c += 'a ' - 'A';//比较好理解
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-13 21:10:40 | 显示全部楼层
jackz007 发表于 2021-10-12 21:02
编译、运行实况:

我大概懂了,但我们还没学getchar,但无所谓了,就这样吧,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 21:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表