九度oj-1098

题目描述:

输入一行字符串,计算其中A-Z大写字母出现的次数

输入:

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

输出:

对每个案例按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>  
#include <string.h>  
struct alphabet             //定义结构体,存每个大写字母及其出现次数  
{  
    char i;  
    int inum;  
};  
int main()  
{  
    char str[100000];  
    struct alphabet alp;  
    int j,len;  
    while(gets(str))  
    {  
        (alp.i)='A';                 //字母从A开始  
        len=strlen(str);             //记录字符串长度  
        while((alp.i)<='Z')  
        {  
            alp.inum=0;              //每个字母出现次数赋初值0  
            for(j=0;j<len;j++)  
            {  
                if(str[j]==alp.i)  
                    (alp.inum)++;    //找到对应字母,其出现次数+1  
            }  
            printf("%c:%d\n",alp.i,alp.inum);  
            (alp.i)++;               //开始判断此字母后面的字母  
        }  
    }  
    return 0;  
}