案例可能有多组,每个案例输入为一行字符串。
对每个案例按A-Z的顺序输出其中大写字母出现的次数。
DFJEIWFNQLEF0395823048+_+JDLSFJDLSJFKK
A:0 B:0 C:0 D:3 E:2 F:5 G:0 H:0 I:1 J:4 K:2 L:3 M:0 N:1 O:0 P:0 Q:1 R:0 S:2 T:0 U:0 V:0 W:1 X:0 Y:0 Z:0
#include <stdio.h> int main(){ char s[1000]; int a[26] = {0}; scanf("%s", s); for (int i = 0; s[i]!='\0'; i ++) { if (s[i] >= 'A' && s[i] <= 'Z') { a[s[i]-'A'] ++; } } for (int i = 0; i < 26; i ++) { printf("%c:%d\n", 'A'+i, a[i]); } return 0; }
#include <stdio.h> #include <string.h> #define maxn 1000 char str[maxn]; int hash[128]; int main() { while (fgets(str, maxn, stdin) != NULL) { for (size_t i = 0; i < strlen(str); i++) { if (str[i] >= 'A' && str[i] <= 'Z') hash[(int)str[i]]++; } for (int i = (int)'A'; i <= (int)'Z'; i++) printf("%c:%d\n", i, hash[i]); memset(hash, 0, sizeof(hash)); } return 0; }
#include <stdio.h> #include <string.h> #define MAX 100 char a[MAX] = {0}; int b[26] = {0}; int main(){ int i, j; while(gets(a)){ int n=strlen(a); for(i=0; i<n; i++){ for(j=0; j<26; j++){ if(a[i] == j+'A'){ b[j]++; } } } for(j=0; j<26; j++){ printf("%c:%d\n", j+'A', b[j]); } } return 0; }