北邮VC++实验题 字母统计
题目描述
从键盘输入一行或几行字符串,行数由键盘输入,一行字符串用字符数组存储。请统计所输入的字符串中26个字母(不区分大小写)出现的次数,并将出现次数非零的字母统计结果输出到屏幕上,格式参见样例。如果没有字母,请输出字符串中无字母。
提示
注意:输入行数后,换行再输入字符串。
样例
样例输入 #1
样例输出 #1
1
2
3
4
5
6
7
8
9
10
|
c:2
e:1
i:2
k:1
l:1
m:1
o:1
q:1
u:1
y:1
|
样例输入 #2
样例输出 #2
解答
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#include <iostream>
#include <cstring>
#include <cstdio>
#include <iomanip>
using namespace std;
int main()
{
int a[27]={0};
char s[500];
int n;
cin>>n;
cin.get();
for(int i=1;i<=n;i++)
{
int z;
//cin.get();
cin.getline(s,500);
z=strlen(s);
for(int i=0;i<=z;i++)
{
if(s[i]>='a'&& s[i]<='z')
{
a[s[i]-'a']++;
}
if(s[i]>='A'&& s[i]<='Z')
{
a[s[i]-'A']++;
}
}
}
bool bon=false;
for(int i=0;i<26;i++)
{
if(a[i]!=0){cout<<char(i+'a')<<":"<<a[i]<<endl;bon=true;}
}
if(bon==false)cout<<"字符串中无字母。";
}
|