解题思路:按题目,存储,比较再排序
注意事项:一定要看清楚输入的成绩个数是1000以内!!!!成绩范围才是一百以内。
参考代码:
#include<stdio.h>
int main()
{
int n,i,k,t;
int j1,j2,j3,j4,j5;
int a[5];
int x,dj[5][1000];
int max;
j1=j2=j3=j4=j5=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&x);
if(x>=90&&x<=100)
{
dj[0][j1]=x;
j1++;
}
else if(x>=80)
{
dj[1][j2]=x;
j2++;
}
else if(x>=70)
{
dj[2][j3]=x;
j3++;
}
else if(x>=60)
{
dj[3][j4]=x;
j4++;
}
else
{
dj[4][j5]=x;
j5++;
}
}
max=0;
a[0]=j1; a[1]=j2; a[2]=j3; a[3]=j4; a[4]=j5;
for(i=0;i<5;i++)
{
if(a[i]>a[max])
max=i;
}
for(i=0;i<a[max]-1;i++)
for(k=0;k<a[max]-i-1;k++)
{
if(dj[max][k]<dj[max][k+1])
{
t=dj[max][k];
dj[max][k]=dj[max][k+1];
dj[max][k+1]=t;
}
}
for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
printf("%d\n",a[max]);
for(i=0;i<a[max];i++)
printf("%d ",dj[max][i]);
return 0;
}
0.0分
0 人评分