中南大学复试上机:数字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuehailin/article/details/87649249

1012: 数字

时间限制: 1 Sec  内存限制: 128 MB

题目描述

PIPI在做一个调查,0到9的10个数字中大家最喜欢哪一个?他询问了N个人,用这些人的方法告诉他的数字组成了一个N位的整数。然后PIPI就去给女朋友打电话了,他叫你帮忙统计一下,这个整数中哪一个数字出现最多。

输入

输入数据有多组,每组占一行,由一个N为的整数构成(PIPI急着打电话,没有告诉你N是多少,只告诉这个数字小于10的1000次方)。

输出

对于每组输入数据,输出一行,对应一个要求的答案(答案为0~9之间的一个数字,如果有多个数字出现次数一样多的情况,输出最小的数字)

样例输入

1234567891
11122333
1235564

样例输出

1
1
5

思路:这道题目让我有点奇怪就是其中的一句话我不明白是什么意思:

由一个N为的整数构成(PIPI急着打电话,没有告诉你N是多少,只告诉这个数字小于10的1000次方

就是这句话所以我的数组的大小不知道该开多大,所以我开始一直出错,后来把数组改大就ac了。

代码:

#include<stdio.h>
#include<string.h>
int main(){
	char a[100001];
	
	while(scanf("%s",a)!= EOF){
	int k;
	int max=0;
	int count[10]={0,0,0,0,0,0,0,0,0,0};
	int len = strlen(a);
	int i;
	for(i=0;i<len;i++){
		count[a[i]-48]++;
	} 
	for(i=0;i<10;i++){
		if(count[i]>max){
			max=count[i];
			k=i;
		}
	}
	printf("%d\n",k);
	
}
}

猜你喜欢

转载自blog.csdn.net/yuehailin/article/details/87649249