您的位置:首页 > 其它

《算法竞赛入门经典》第三章上机练习(1)

2013-06-17 17:57 267 查看
练习3-1 分数统计

输入一些学生的分数,哪个分数出现的次数最多?如果有多个并列,从小到大输出。

任务1:分数均为不超过100的非负整数。

任务2:分数均为不超过100的非负实数,但最多保留两位小数。

---------------------------------------------------------------

1 //任务1

2 #include<stdio.h>
3 #include<string.h>
4 int a[101];
5
6 int main()
7 {
8 int i,b,temp,max=0;
9 memset(a,0,sizeof(a));

while(scanf("%d",&b)==1)
{
temp=a[b%100];
temp++;
a[b%100]=temp;
}

for(i=0;i<101;i++)
{
if(max<a[i])
max=a[i];
}
printf("max is %d\n",max);

for(i=0;i<101;i++)
{
if(a[i]==max)
printf("%d ",i);
}
printf("\n");
}---------------------------------------------------------------

1 //任务2
2 #include<stdio.h>
3 #include<string.h>
4 int a[10001];
5
6 int main()
7 {
8 int i,n,temp,max=0;
9 double b;
memset(a,0,sizeof(a));

while(scanf("%lf",&b)==1)
{
n=b*100;
temp=a[n%10000];
temp++;
a[n%10000]=temp;
}

for(i=0;i<10001;i++)
{
if(max<a[i])
max=a[i];
}
printf("max is %d\n",max);

for(i=0;i<10001;i++)
{
if(a[i]==max)
{
printf("%.2lf ",i/100.0);
}

}
printf("\n");36 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: