1814 - 字母统计

通过次数

0

提交次数

0

时间限制 : 3 秒 内存限制 : 128 MB

给定一段字符,统计其中的英文字母a~z的数量,不分大小写。

题目输入

输入为一行字符,长度小于1000。

题目输出

从a到z顺序输出字母的数量,没有出现的字母就不要输出了。

输入/输出样例

输入格式

Hello every one.

输出格式

e:4
h:1
l:2
n:1
o:2
r:1
v:1
y:1

C语言解答

#include <stdio.h>
#include <string.h>
char S[1001], alpha[26];
int main(){
    int i, len;
    gets(S);
    len = strlen(S);
    for(i = 0; i < len; i++){
        if(S[i]<='z' && S[i]>='a') alpha[S[i]-'a']++;
        else if(S[i]<='Z' && S[i]>='A') alpha[S[i]-'A']++;
    }
    for(i = 0; i < 26; i++)
        if(alpha[i]) printf("%c:%d\n", i+'a', alpha[i]);
    return 0;
}

C++解答

#include<iostream>
#include<cstring>
#include<cctype>
using namespace std;
int main(){
	int a[26]={0};
	char s[1000] ;
	gets(s);	
		for(int ix=0;ix!=strlen(s);ix++){
			s[ix]=tolower(s[ix]);
			a[int(s[ix]-'a')]++;
		}
		for(int i=0;i<26;i++){
			if(a[i]!=0){
				char x=char(i+'a');
				cout<<x<<":"<<a[i]<<endl;
			}
		}
	
}