输入一些学生的分数,哪个分数出现的次数最多?求c语言程序!!

2025-12-17 05:09:09
推荐回答(3个)
回答1:

#include "stdio.h"
void main()
{
    int n,a[101]={0},p,z,i;
    printf("请输入学生的数量");
    scanf("%d",&n);
    printf("请输入%d名同学的分数\n",n);
    for(i=1;i<=n;i++){
     scanf("%d",&p);
     a[p]++;}
    p=0;
    for(i=0;i<=100;i++)
     if(a[i]>p){
     p=a[i];
     z=i;}
    printf("出现最多的分数是%d,共出现%d次。",z,p);
}

已经运行过,有什么问题请留言。

回答2:

#include
int v[151]={0};//满分150
int main(){
int i,d,max=0;
for(i=0;i scanf("%d",&d);
v[d]++;}
for(i=0;i<151;i++)
max=max>v[i]?max:v[i];
for(i=0;i<151;i++)
if(max==v[i])printf("得 %d 分的学生最多\n");
printf("有%d个\n",max);
return 0;}

回答3:

#include
#include
#include
#include
int main()
{
int x,t,i,j,max,a[101],b[100];
scanf("%d",&x);
memset(a,0,sizeof(a));//初始化数组
for(i=0; i{
scanf("%d",&t);//输入有个数,那么对应的数组位置加一
a[t]++;
}
max=0;
for(i=0; i<101; i++)
{
if(a[max]max=i;//先找到出现次数最多的数
}
j=0;
for(i=0; i<101; i++)
{
if(a[max]==a[i])//再找到出现次数最多且次数相同的数
b[j++]=i;
}
for(i=0; iprintf("%d ",b[i]);//输出
return 0;
}