首页 > 试题广场 >

字母统计

[编程题]字母统计
  • 热度指数:17366 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入一行字符串,计算其中A-Z大写字母出现的次数

输入描述:
案例可能有多组,每个案例输入为一行字符串。


输出描述:
对每个案例按A-Z的顺序输出其中大写字母出现的次数。
示例1

输入

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;
}

发表于 2023-02-13 12:11:25 回复(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;                         
} 


发表于 2022-03-04 23:54:10 回复(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;
}

发表于 2022-01-11 13:00:33 回复(0)
#include <stdio.h>

int main(){
    char s[100];
    while(scanf("%s",s)!=EOF){
        int num[26] = {0};
        for(int i=0;s[i]!='\0';i++)
            if(s[i]>='A'&&s[i]<='Z') num[s[i]-'A']++;
        for(int i=0;i<26;i++) printf("%c:%d\n",i+'A',num[i]);
    }
}
发表于 2022-01-10 21:17:29 回复(0)