随机产生30个学生的C语言成绩(成绩范围在[0,100]之间),按照从大到小的顺序排序,分别显示排序前和排序后的结果,每行输出10个;并统计输出优秀(≥90分)及不及格(<60分)的人数
一个简单的实现:
#include <stdio.h>
#include <stdlib.h>
int main(void){
int result[30];
int veryGood = 0;
int notGood= 0;
int i=0;
//产生30个随机成绩,并统计不及格人数和优秀人数
while(i<30){
result[i]= rand()%101;
printf("%d ",result[i]);
if(result[i]>=90){
veryGood ++;
}
if(result[i]<60){
notGood ++;
}
i++;
if(i%10==0){
printf("\n");
}
}
int j;
int temp;
//排序成绩
for(i=0;i<29;i++){
for(j=i+1;j<30;j++){
if(result[i]>result[j]){
temp = result[i];
result[i]=result[j];
result[j] = temp;
}
}
}
//打印成绩
for(i=0;i<30;i++){
if(i%10==0){
printf("\n");
}
printf("%d ",result[i]);
}
//打印统计信息
printf("\n\n优秀人数:%d\n",veryGood);
printf("不及格人数:%d\n",notGood);
}