杭电acm P2027统计元音

本文介绍了一个简单的程序设计问题——统计给定字符串中元音字母的数量。通过读取多组测试数据,程序能够准确地计算出'a'、'e'、'i'、'o'、'u'这五个元音字母各自出现的次数,并按指定格式输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

统计元音
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 81433 Accepted Submission(s): 31875

Problem Description
统计每个元音字母在字符串中出现的次数。

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
//ac代码:

import java.util.Scanner;
public class P2027/*(提交时改成Main)*/ {
    public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
         while(sc.hasNext()){
             int n=sc.nextInt();
             String s=sc.nextLine();
             char[] ch={'a','e','i','o','u'};
             int[] num=new int[5];
             String[] str=new String[n];
             for(int i=0;i<n;i++){
             str[i]=sc.nextLine();
             } 
             for(int j=0;j<n;j++){
                 for(int i=0;i<5;i++){
                 num[i]=0;
                 }
             for(int i=0;i<str[j].length();i++){ 
                     if(str[j].charAt(i)=='a'){
                         num[0]++;
                     }
                     if(str[j].charAt(i)=='e'){
                         num[1]++;
                     }
                     if(str[j].charAt(i)=='i'){
                         num[2]++;
                     }
                     if(str[j].charAt(i)=='o'){
                         num[3]++;
                     }
                     if(str[j].charAt(i)=='u'){
                         num[4]++;
                     }
                 }
            if(j<n-1){
             for(int i=0;i<5;i++){
                 System.out.println(ch[i]+":"+num[i]);
             }
             System.out.println();
            }else{
                 for(int i=0;i<5;i++){
                         System.out.println(ch[i]+":"+num[i]);
                 }
           }
      }
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值