有一个班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 hexo+github部署博客
- ¥15 求螺旋焊缝的图像处理
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 itunes恢复数据最后一步发生错误
- ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
- ¥100 H5网页如何调用微信扫一扫功能?