1. 程式人生 > >HDU 2027統計母音

HDU 2027統計母音

HDU 2027統計母音

題目:
統計每個母音字母在字串中出現的次數。
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<iostream>
#include<cstdio>
#include<string>
#include<string.h>
using namespace std;

int main()
{
    int n,count,a,e,i,o,u;
    string str;
    scanf("%d",&n);
    getchar();
    while(n--)
    {
        getline(cin,str);
        a = 0;
        e = 0;
        i = 0;
        o = 0;
        u = 0;
        count = str.size();
        for(int j = 0;j < count;j++)
        {
            if(str[j] == 'a')
            {
                a++;
                continue;
            }
            else if(str[j] == 'e')
            {
                e++;
                continue;
            }
            else if(str[j] == 'i')
            {
                i++;
                continue;
            }
            else if(str[j] == 'o')
            {
                o++;
                continue;
            }
            else if(str[j] == 'u')
            {
                u++;
                continue;
            }
            else {continue;}
        }
        cout << "a:" << a << endl;
        cout << "e:" << e << endl;
        cout << "i:" << i << endl;
        cout << "o:" << o << endl;
        cout << "u:" << u << endl;
        if(n) cout << endl;
    }
    return 0;
}

- 注意事項:
這道題是一道hdu上的水題,需要注意的是輸出的格式(注意題目中的:多個測試例項之間由一個空行隔開.請特別注意:最後一塊輸出後面沒有空行:),也就是說除了最後一個數據之外,其他地方都應該在答案的後面再加一行空行。
另外,本人由於把getchar()寫在了while迴圈內部導致一直wa…後來才發現只需要在輸入第一個字串之前把scanf輸入時留下的回車鍵給吞掉就行了,如果寫在while內會導致在輸入之後的字串時每次都把第一個字元吞掉.(這樣寫案例竟然也通過了…所以以後在提交前應多試幾個例子)

執行結果:

在這裡插入圖片描述