美文网首页
HDU 2027 统计每个元音字母在字符串中出现的次数

HDU 2027 统计每个元音字母在字符串中出现的次数

作者: xcpooo | 来源:发表于2018-12-10 15:53 被阅读0次

    统计每个元音字母在字符串中出现的次数。
    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 <cstring>
    #include <cstdio>
    
    using namespace std;
    
    int a(char b[]) {
        int sum = 0;
        for (int i = 0; i < 105; i++) {
            switch (b[i])
        case 65:
        case 65 + 32:
            sum++;
        }
        return sum;
    }
    
    int e(char b[]) {
        int sum = 0;
        for (int i = 0; i < 105; i++) {
            switch (b[i])
        case 69:
        case 69 + 32:
            sum++;
        }
        return sum;
    }
    
    int i(char b[]) {
        int sum = 0;
        for (int i = 0; i < 105; i++) {
            switch (b[i])
        case 73:
        case 73 + 32:
            sum++;
        }
        return sum;
    }
    
    
    int o(char b[]) {
        int sum = 0;
        for (int i = 0; i < 105; i++) {
            switch (b[i])
        case 79:
        case 79 + 32:
            sum++;
        }
        return sum;
    }
    
    
    int u(char b[]) {
        int sum = 0;
        for (int i = 0; i < 105; i++) {
            switch (b[i])
        case 85:
        case 85 + 32:
            sum++;
        }
        return sum;
    }
    void output(char A[105]) {
        cout << "a" << ":" << a(A) << endl;
        cout << "e" << ":" << e(A) << endl;
        cout << "i" << ":" << i(A) << endl;
        cout << "o" << ":" << o(A) << endl;
        cout << "u" << ":" << u(A) << endl;
    }
    
    
    
    
    void main() {
        int a;
        cin >> a;
        cin.ignore(1000, '\n');
    //这个cin.ignore(1000, '\n')是个关键点;
    
        char **p = new char*[a ];
        for (int count = 0; count < a; count++) {
            p[count] = new char[105];
        }//动态二维数组,宽度确定
    
        
        
        for (int i = 0; i < a ; i++) {
            cin.getline(p[i], 105);//cin>>p[i];
    //这是我第一次使用cin.getline。这个函数很吊,可以读取空格 甚至回车!!!
    //所以当我在一开始输入 a的值时,回车那一下,也会被记录,因此,p[0]里记录的永远是个
    //无用 的回车也就是'/n',使用cin.ignore(1000, '\n')后 '\n'才被忽略了。
        }//输入动态二维数组
    
        for (int i = 0; i < a; i++) {
    
            output(p[i]);
            if(i<a-1)//这也是个坑,“请特别注意:最后一块输出后面没有空行:) ”输出最后一行时
    //不带空格
            cout << endl;
    
    
        }
    
    
    }
    

    相关文章

      网友评论

          本文标题:HDU 2027 统计每个元音字母在字符串中出现的次数

          本文链接:https://www.haomeiwen.com/subject/rxxdhqtx.html