原题链接:蓝桥杯算法提高VIP-分数统计
#include<stdio.h>
#define N 1000
void sort(int a[N],int n)
{ int i,j,temp;
for(i=0;i<n;i++)
{ for(j=0;j<n-i-1;j++)
{ if(a[j+1]>a[j])
{ temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
void print(int a[N],int n)
{ int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
int main()
{ int n,i,a[N],b[N],c[N],d[N],e[N],tol[N];
int aa=0,bb=0,cc=0,dd=0,ee=0;
int cca=0,ccb=0,ccc=0,ccd=0,cce=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&tol[i]);
for(i=0;i<n;i++)
{ if(tol[i]>=90)
{ a[aa++]=tol[i];
cca++;
}
else if(tol[i]>=80)
{ b[bb++]=tol[i];
ccb++;
}
else if(tol[i]>=70)
{ c[cc++]=tol[i];
ccc++;
}
else if(tol[i]>=60)
{ d[dd++]=tol[i];
ccd++;
}
else
{ e[ee++]=tol[i];
cce++;
}
}
int result[5]={cca,ccb,ccc,ccd,cce};
for(i=0;i<5;i++)
printf("%d ",result[i]);
printf("\n");
int max=result[0],p=0;
for(i=0;i<5;i++)
{ if(max<result[i])
{ max=result[i];
p=i;
}
}
printf("%d\n",max);
switch(p)
{ case 0:
sort(a,cca);
print(a,cca);
break;
case 1:
sort(b,ccb);
print(b,ccb);
break;
case 2:
sort(c,ccc);
print(c,ccc);
break;
case 3:
sort(d,ccd);
print(d,ccd);
break;
case 4:
sort(e,cce);
print(e,cce);
break;
}
return 0;
}
0 分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复