就是限制条件比较多而已,二话不说吃掉它
就是感觉末尾不得有多余的空格这是用来吊人胃口的,实用性不大
程序代码:
#include<stdio.h>
void fun(int a[],int num,int count)
{
do
{
a[num%10]++;//num%10就是位数,对应的数组下标a[num%10]++意思就是统计数字加1
num/=10;//这个是依次取低位
}while(num);
}
int fmax(int b[])
{
int i=0;
int max=0;//max为满足条件的个位数的最大值
for (i=0;i<10;i++)
if (b[i]>max)
max=b[i];
return max;//返回最大值
}
int main()
{
int a[10]={0};//记数器
int num=0;
int count=0;//统计输出满足个位数的个数
int i=0;
int n;
scanf("%d",&n);//输入组数
while (n--)
{
scanf("%d",&num);//输入数据
fun(a,num,count);
}
count=fmax(a);
printf("%d:",count);
for (i=0;i<10;i++)//这个是为了处理空格问题~
if (count==a[i])
{
printf("%d",i++);//输出数据打破循环后i要加1
break;
}
for (;i<10;i++)
if (count==a[i])
printf(" %d",i);//这里分段是为了处理空格问题,末尾不能输出空格
printf("\n");
return 0;
}
[此贴子已经被作者于2016-12-19 01:13编辑过]