解题思路:
注意事项:
参考代码:
#include<stdio.h>
void px(int a[],int x)
{
int i,j,max,t;
for(i=0;i<x;i++)
{
max=i;
for(j=i;j<x;j++)
if(a[j]>a[max])
max=j;
t=a[max];a[max]=a[i];a[i]=t;
}
}
int main()
{
int a[1000],b[6]={0},m[6]={0},p[6][1000],n,k,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(0<=a[i]&&a[i]<=59)
{
b[1]=b[1]+1;
p[1][m[1]++]=a[i];
}
else if(60<=a[i]&&a[i]<=69)
{
b[2]=b[2]+1;
p[2][m[2]++]=a[i];
}
else if(70<=a[i]&&a[i]<=79)
{
b[3]=b[3]+1;
p[3][m[3]++]=a[i];
}
else if(a[i]>=80&&a[i]<=89)
{
b[4]=b[4]+1;
p[4][m[4]]=a[i];
m[4]++;
}
else if(90<=a[i]&&a[i]<=100)
{
b[5]=b[5]+1;
p[5][m[5]++]=a[i];
}
else
{
return 0;
}
}
k=1;
for(i=1;i<=5;i++)
{
if(b[k]<b[i])
{
k=i;
continue;
}
}
printf("%d %d %d %d %d\n",b[5],b[4],b[3],b[2],b[1]);
printf("%d\n",b[k]);
px(p[k],b[k]);//对等级最多的位置进行排序
for(i=0;i<b[k];i++)//输出
{
printf("%d ",p[k][i]);
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复