随机产生30个学生的C语言成绩(成绩范围在[0,100]之间),统计并输出不及格(<60分)的人数,并按照从大到小的顺序将数组所有元素进行排序,分别显示排序前和排序后的结果,每行输出10个。
关于#c语言#的问题:随机产生30个学生的C语言成绩(成绩范围在[0,100]之间),统计并输出不及格(<60分)的人数,并按照从大到小的顺序将数组所有元素进行排序,分别显示排序前和排序后的结果
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 回答如下,记得采纳!
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 30 int main() { int scores[N]; int i, j, temp; int fail_count = 0; // 随机生成成绩 srand((unsigned)time(NULL)); for (i = 0; i < N; i++) { scores[i] = rand() % 101; } // 统计不及格的人数 for (i = 0; i < N; i++) { if (scores[i] < 60) { fail_count++; } } printf("不及格的人数:%d\n", fail_count); // 排序并输出结果 printf("排序前的结果:\n"); for (i = 0; i < N; i++) { printf("%d ", scores[i]); if ((i+1) % 10 == 0) printf("\n"); } printf("\n"); for (i = 0; i < N-1; i++) { for (j = 0; j < N-i-1; j++) { if (scores[j] < scores[j+1]) { temp = scores[j]; scores[j] = scores[j+1]; scores[j+1] = temp; } } } printf("排序后的结果:\n"); for (i = 0; i < N; i++) { printf("%d ", scores[i]); if ((i+1) % 10 == 0) printf("\n"); } printf("\n"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
- ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
- ¥15 Google speech command 数据集获取
- ¥15 vue3+element-plus页面崩溃
- ¥15 像这种代码要怎么跑起来?
- ¥15 安卓C读取/dev/fastpipe屏幕像素数据
- ¥15 pyqt5tools安装失败
- ¥15 mmdetection
- ¥15 nginx代理报502的错误
- ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧