写中等题写了几天写不出,写几道简单题压压惊;
注意:审题发现本题的数据量很小,直接用二维数组暴力解决就好了,不需要任何技巧;二维数组的第一项存放某一段成绩的个数,往后存这一段成绩的数据;
参考代码:
#include<stdio.h>
int main()
{
int n,aa=1,b=1,c=1,d=1,e=1;
scanf("%d",&n);
int a[5][1000]={0};
for(int i=0;i<n;i++)
{
int x;
scanf("%d",&x);
if(x>=90&&x<=100)
{
a[0][0]++;
a[0][aa]=x;
aa++;
}
else if(x>=80&&x<=89)
{
a[1][0]++;
a[1][b]=x;
b++;
}
else if(x>=70&&x<=79)
{
a[2][0]++;
a[2][c]=x;
c++;
}
else if(x>=60&&x<=69)
{
a[3][0]++;
a[3][d]=x;
d++;
}
else
{
a[4][0]++;
a[4][e]=x;
e++;
}
}
int max=-1,index;
for(int i=0;i<5;i++)
{
printf("%d ",a[i][0]);
if(a[i][0]>max)
{
max=a[i][0];
index=i;
}
}
printf("\n%d\n",max);
for(int i=1;i<max;i++)
{
for(int j=i+1;j<=max;j++)
{
int temp;
if(a[index][i]<a[index][j])
{
temp=a[index][i];
a[index][i]=a[index][j];
a[index][j]=temp;
}
}
}
for(int i=1;i<=max;i++)
{
printf("%d ",a[index][i]);
}
return 0;
}
0.0分
0 人评分