Time limit1000 msMemory limit32768 kB
total
Time
31ms
Memory
1792kB
统计每个元音字母在字符串中出现的次数。
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 main()
{
char *ss, data[100]; //用指针ss调用数组,data数据作为储存结构
int n, na, ne, ni, no, nu; // na为Number a的缩写
cin >> n;
getchar(); // 用gets()函数接收字符串,由于gets()函数会接收到前面输入数字n时的回车符,
//所以在get()前需要用getchar()函数吸收这个回车符
while (n--) //输入次数的while 标准循环
{
gets_s(data); //gets_s从标准输入设备读字符串函数,不受空格限制,
ss = data; //用指针ss调用数组,data数据作为储存结构
na = ne = ni = no = nu = 0;
while (*ss != '\0') //判断指针收到的字符是否为空格,
{
if (*ss == 'a')
na++;
else if (*ss == 'e')
ne++;
else if (*ss == 'i')
ni++;
else if (*ss == 'o')
no++;
else if (*ss == 'u')
nu++;
ss++; //指针循环++
}
cout << "a:" << na << endl;
cout << "e:" << ne << endl;
cout << "i:" << ni << endl;
cout << "o:" << no << endl;
cout << "u:" << nu << endl;
if (n) cout << endl;
}
}