有一个班4个学生,5门课程。 1.求第2个学生5门课程的平均成绩; 2.求第1门课程的平均分; 3.找出有一门以上课程不及格的学生,输出 他们是第几个学生及每个学生的所有课程 成绩。 分别用3个函数实
有一个班4个学生,5门课程。 1.求第2个学生5门课程的平均成绩; 2.求第1门课程的平均分; 3.找出有一门以上课程不及格的学生,输出 他们是第几个学生及每个学生的所有课程 成绩。 分别用3个函数实
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- -Undefined_ 2021-12-30 11:37关注
定义结构体,使用结构体数组;没学过结构体也可以使用二维数组
#include<stdio.h> struct student { int a[5]; double ave; }; double fun1(struct student stu) { return stu.ave; } double fun2(struct student stu[], int n) { int i; double sum = 0; for(i = 0; i < n; i++) { sum += stu[i].a[0]; } return sum / n; } void fun3(struct student stu[], int n) { int i,j,cnt; for(i = 0; i < n; i++) { cnt = 0; for(j = 0; j < 5; j++) { if(stu[i].a[j] < 60) cnt++; } if(cnt > 1) { printf("第%d个学生,该生所有成绩:", i + 1); for(j = 0; j < 5; j++) { printf("%d ",stu[i].a[j]); } printf("\n"); } } } int main() { struct student stu[4]; int i, j, sum; for(i = 0; i < 4; i++) { printf("请输入第%d个学生的5门成绩,以空格隔开:", i + 1); sum = 0; for(j = 0; j < 5; j++) { scanf("%d", &stu[i].a[j]); sum += stu[i].a[j]; } stu[i].ave = sum / 5.0; } printf("第2个学生的平均成绩:%.2f\n", fun1(stu[1])); printf("第1门课的平均成绩:%.2f\n", fun2(stu, 4)); printf("有一门以上课程不及格的学生:\n"); fun3(stu,4); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用 2
悬赏问题
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题