天天看點

Bailian2688 求字母的個數【輸入流】

求字母的個數

總時間限制:  
1000ms  
記憶體限制:  
65536kB
描述
在一個字元串中找出元音字母a,e,i,o,u出現的次數。
輸入
輸入一行字元串(字元串中可能有空格,請用gets(s)方法把一行字元串輸入到字元數組s中),字元串長度小于80個字元。
輸出
輸出一行,依次輸出a,e,i,o,u在輸入字元串中出現的次數,整數之間用空格分隔。
樣例輸入
If so, you already have a Google Account. You can sign in on the right.      
樣例輸出
5 4 3 7 3      
提示
注意,隻統計小寫元音字母a,e,i,o,u出現的次數。

問題連結:Bailian2688 求字母的個數

問題分析:(略)

程式說明:邊讀入資料邊處理,程式技巧要高一些,存儲要能省則省。

題記:

  讀字元串到數組中再處理,那是倒騰!

  看似無序的東西,放進數組後就可以使用循環進行處理。

 

AC的C語言程式如下:

/* Bailian2688 求字母的個數 */

#include <stdio.h>
#include <string.h>

#define N 5
char vowel[] = "aeiou";
int count[N];

int main(void)
{
    char c;
    int i;

    // 數組清零
    memset(count, 0, sizeof(count));

    while((c = getchar()) != '\n' && c != EOF)
        for(i=0; i<N; i++)
            if(c == vowel[i]) {
                count[i]++;
                break;
            }

    for(i=0; i<N; i++)
        printf("%d ", count[i]);
    printf("\n");

    return 0;
}
           

繼續閱讀