2652 - string
时间限制 : 1 秒
内存限制 : 128 MB
<span style="font-family:宋体;">现在有一个仅由英文字母(包含大小写)组成的字符串。</span>
<span style="font-family:宋体;">请计算出各字母分别出现了多少次(不区分大小写,即大写和小写算同一个字母)。</span>
题目输入
<span style="font-family:宋体;"><span style="font-family:宋体;">一个仅由英文字母(包含大小写)组成的字符串</span></span>
<span style="font-family:宋体;">字符串长度小于200</span>
题目输出
<span style="font-family:宋体;">若干行输出,每行输出一个字母(大写)以及该字母出现次数。(字母与次数间空一格)</span>
<span style="font-family:宋体;"><span style="font-family:宋体;">按字母表顺序递增输出。</span><br />
输入/输出样例
输入格式
RandyRen
输出格式
A 1 D 1 E 1 N 2 R 2 Y 1
C语言解答
#include<stdio.h> #include<string.h> #define MAX 1000 int main() { int a[MAX]={0}; char b[MAX]; while(gets(b)!=NULL){ int lon=strlen(b); for(int i=0;i<lon;i++) a[b[i]]++; for(int i=65;i<='Z';i++) { if((a[i]+a[i+32])!=0){ printf("%c",i); printf(" "); printf("%d\n",a[i]+a[i+32]); } } } return 0; }
C++解答
#include <stdio.h> #include <string.h> int counter[26]; int main() { char input[150]; int len,i,temp; scanf("%s", input); len=strlen(input); for(i=0;i<len;i++) { temp=(int)input[i]; if(temp>=65 && temp<=90) { counter[temp-65]++; } if(temp>=97 && temp<=122) { counter[temp-97]++; } } for(i=0;i<26;i++) { if(counter[i]) { printf("%c %d\n", (char)(i+65), counter[i]); } } for(i=0;i<26;i++) { counter[i]=0; } return 0; }