B - 统计元音-CSDN博客

80 阅读1分钟
     统计每个元音字母在字符串中出现的次数。
Input
    输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。
Output
    对于每个测试实例输出5行,格式如下:
    a:num1
    e:num2
    i:num3
    o:num4
    u:num5
    多个测试实例之间由一个空行隔开。

    请特别注意:最后一块输出后面没有空行:)
Sample Input

    2
    aeiou
    my name is ignatius

Sample Output

    a:1
    e:1
    i:1
    o:1
    u:1

    a:2
    e:1
    i:3
    o:0
    u:1
#include<stdio.h>
#include<ctype.h>
int main()
{
 int n;
 int y[5];
 char c;
 scanf("%d%*c",&n);
 while(n--)
 {
  y[0]=y[1]=y[2]=y[3]=y[4]=0;
  while((c=getchar())!='\n')
  {
   switch(tolower(c))
   {
    case 'a':
     y[0]++;
     break;
    case 'e':
     y[1]++;
     break;
    case 'i':
     y[2]++;
     break;
    case 'o':
        y[3]++;
        break;  
    case 'u':
     y[4]++;
     break;
    default:break;
   }

   
  }
  
   printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",y[0],y[1],y[2],y[3],y[4]);
   if(n)putchar('\n');  
   
  
  
 }
 return 0;
 } 

while(n--)也是除for之外的另一种方法

这里主要注意大小写的问题!!!

在不知字符串长度的情况下还要一个一个判断字符可以使用  while((c=getchar())!='\n')

这里最后\n的打印方法也值得好好琢磨