注:90及90分以上为优秀,优秀率:100*(优秀的人数/总人数)可以定义一个二维数组,循环输入成绩,统计并输出统计结果。平均成绩用浮点数组定义,输出1位小数,优秀率用浮点数组定义,输出2位小数。
怎么用程序设计:输入10名学生高等数学、英语、物理课成绩,计算每名学生3门课的平均成绩,输出每名学生各科成绩及平均成绩,并输出3门课程的优秀率
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 乘风xs 2023-04-19 20:21关注
望采纳,谢谢
#include <stdio.h> int main() { int n = 10; float scores[n][3]; float averages[n], excellent_rates[3]; // 循环输入成绩 for (int i = 0; i < n; i++) { printf("请输入第 %d 名学生的高等数学、英语、物理课成绩:\n", i+1); scanf("%f%f%f", &scores[i][0], &scores[i][1], &scores[i][2]); // 计算平均成绩 averages[i] = (scores[i][0] + scores[i][1] + scores[i][2]) / 3.0; } // 统计优秀率 int excellent_counts[3] = {0, 0, 0}; for (int i = 0; i < n; i++) { if (scores[i][0] >= 90) { excellent_counts[0]++; } if (scores[i][1] >= 90) { excellent_counts[1]++; } if (scores[i][2] >= 90) { excellent_counts[2]++; } } excellent_rates[0] = excellent_counts[0] * 100.0 / n; excellent_rates[1] = excellent_counts[1] * 100.0 / n; excellent_rates[2] = excellent_counts[2] * 100.0 / n; // 输出结果 printf("\n"); printf("学号\t高等数学\t英语\t物理\t平均成绩\n"); for (int i = 0; i < n; i++) { printf("%d\t%.1f\t\t%.1f\t%.1f\t%.1f\n", i+1, scores[i][0], scores[i][1], scores[i][2], averages[i]); } printf("\n"); printf("优秀率:高等数学 %.2f%%,英语 %.2f%%,物理 %.2f%%\n", excellent_rates[0], excellent_rates[1], excellent_rates[2]); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗
- ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路