题目:
输入一个正整数n(1<n≤1000),再输入n个整数,分析每个整数的每一位数字,求出现次数最多的数字。例如输入3个整数1234、2345、3456,其中出现次数最多的数字是3和4,均出现了3次。
输入样例:
Enter n:5
Enter 5 integers:1234 2345 3456
输出样例:
出现最多次数3次数字是:3 4
设计思路:
新建一个数组time[10]={0}用来存放输入的每个整数中每位数字的个数。当输入整数1234时,对1234%10取余数,a[4]个数增加一个,然后对123%10取余数,a[3]个数加一。以此类推循环往复,记录输入的每一个整数中的每一位数字出现的个数,最后进行统计,输出a[i]中数值最大的(即出现的最大次数)和下标i(即出现最大次数的数字).
/*求一批整数中出现最多的数字*/
#include<stdio.h>
int main(void)
{
int n,i,max=0,temp,time[10]={0};
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d integers:",n);
for(i=0;i<n;i++){
scanf("%d",&temp);
while(temp!=0){
time[temp%10]++;
temp/=10;
}
}
for(i=0;i<10;i++){
if(max<time[i])
max=time[i];
}
printf("出现最多次数%d次的数字是:",max);
for(i=0;i<10;i++)
if(time[i]==max)
printf("%d ",i);
printf("\n");
return 0;
}