记录值得记录下的事情

PAT-GPLT_L1-003. 个位数统计

L1-003. 个位数统计

时间限制 内存限制 代码长度限制 判题程序 作者
400ms 65536kB 8000B Standard 陈越

给定一个k位整数N = dk-110k-1 + ... + d1101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。

输入格式:

每个输入包含1个测试用例,即一个不超过1000位的正整数N。

输出格式:

对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。

输入样例:

100311

输出样例:

0:2
1:3
3:1

Code [C]

#include <stdio.h>
#include <string.h>
int main()
{
    char s[1001];
    int a[10]; //0~9十位 
    int len, t, i, j;
    scanf("%s", s);
    len=strlen(s); //字符串长度 
    t=0;
    for(i=0; i<len; i++)
    {
        t=s[i]-48; //0的ASCII为48 
        a[t]++; //数量统计 
    }
    for(j=0; j<10; j++) //限定数字为0~9 
    {
        if(a[j]!=0) //有的个数才输出 
        {
            printf("%d:%d\n", j, a[j]);
        }
    }
return 0;
}

标签: C, PAT, GPLT

添加新评论