随机产生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无用
悬赏问题
- ¥15 win10权限管理,限制普通用户使用删除功能
- ¥15 minnio内存占用过大,内存没被回收(Windows环境)
- ¥65 抖音咸鱼付款链接转码支付宝
- ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
- ¥15 求螺旋焊缝的图像处理
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面