为了账号安全,请及时绑定邮箱和手机立即绑定

请帮我解释一句代码:题目是创建一个函数,使用二维数组计算5名学生3门科目的每科最高分和每名学生的平均分

请帮我解释一句代码:题目是创建一个函数,使用二维数组计算5名学生3门科目的每科最高分和每名学生的平均分

C
叫什么名字好呢1 2016-08-07 21:33:01
#include <stdio.h> #define NUMBER 5 //人数 #define SUBJECT 3 //科目数 int max_of(const int score[NUMBER][SUBJECT],int no) { int i; int max=score[0][SUBJECT];  //就是这一句我不懂,帮我解释一下 for (i=1;i<NUMBER;i++) { if (score[i][no]>max) { max=score[i][no]; } } return max; } float average(const int score[NUMBER][SUBJECT],int no) { int i; int sum=0; for (i=0;i<SUBJECT;i++) { sum += score[no][i]; } return((double)sum/SUBJECT); } int main(void) { int score[NUMBER][SUBJECT]; int i,j; puts("请输入学生的分数"); for (i=0;i<NUMBER;i++) { printf("学生:no.%2d\n",i+1); for (j=0;j<SUBJECT;j++) { printf("no.%2d科的分数:\n",j+1); scanf("%d",&score[i][j]); } putchar('\n'); } puts("计算每科的最高分:"); for (i=0;i<SUBJECT;i++) { printf("no.%2d科目的最高分是:%2d\n",i+1,max_of(score,i)); } puts("计算每人的平均分:"); for (i=0;i<NUMBER;i++) { printf("no.%2d的平均分是:%.2f\n",i+1,(double)average(score,i)); } return 0; }
查看完整描述

4 回答

已采纳
?
慕粉1469895870

TA贡献1条经验 获得超0个赞

定义一个结构体数组,然后操作数组就可以

查看完整回答
反对 回复 2016-08-08
?
qyy2499760117_叶子

TA贡献188条经验 获得超91个赞

   int max=score[0][SUBJECT];  是指多维数组取值,也就是数组中的数组。相当于   int max=score[0][0]; 

查看完整回答
1 反对 回复 2016-08-08
  • 叫什么名字好呢1
    叫什么名字好呢1
    可是SUBJECT不是固定值为3了吗?我一直理解的为int max = score[0][3],可是这样理解就是错误的,我还是不太懂
  • qyy2499760117_叶子
    qyy2499760117_叶子
    我举个例子而已,没看到你的赋,你要是不懂的话,可以百度二维数组的定义,这样你就了解了。
?
慕粉1470493291

TA贡献1条经验 获得超0个赞

int   arry [5][3],剩下的你就自己设计吧

查看完整回答
反对 回复 2016-08-08
?
汤少主

TA贡献1条经验 获得超0个赞

感觉这好像有错误,那一行代码的数组的下标越界了。而且下一句的循环好像也错了,应该是i=0开始,而不是i=1开始。望采纳

查看完整回答
反对 回复 2016-08-08
  • 4 回答
  • 0 关注
  • 1669 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信