PAT乙级 1021. 个位数统计 (15)

1021. 个位数统计 (15)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

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

输入格式:

每个输入包含1个测试用例,即一

1021. 个位数统计 (15)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + 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

 

个不超过1000位的正整数N。

输出格式:

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

输入样例:
100311
输出样例:
0:2
1:3
3:1

 

 1 #include "stdio.h"
 2 #include"string.h"
 3 #include <stdlib.h>
 4 int main()
 5 {
 6     int length=0,i,j;
 7     char a[1001];
 8     char count[10]={0};
 9     gets(a);
10     length=strlen(a);
11     for(i=0;i<length;i++)
12     {
13         for(j=0;j<10;j++)
14             {
15                 if(a[i]-'0'==j)
16                 {count[j]++;break;}
17             }
18     }
19     for(i=0;i<10;i++)
20     {
21         if(count[i])
22             printf("%d:%d\n",i,count[i] );
23     }
24     return 0;
25 }

目前唯一一道10分钟不到 一下就通过的题

posted @ 2016-10-03 09:20  乐乐章  阅读(231)  评论(0编辑  收藏  举报