随机产生30个学生的C语言成绩(成绩范围在[0,100]之间),按照从大到小的顺序排序,分别显示排序前和排序后的结果,每行输出10个;并统计输出优秀(≥90分)及不及格(<60分)的人数
1条回答 默认 最新
- a5156520 2021-12-20 18:35关注
一个简单的实现:
#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); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 6无用