麻烦大家看个程序,里面有个警告看不懂,搞不转。。。。
/*输入10个学生5门课的成绩,分别用函数实现下列功能:1.计算每个学生平均分;2.计算每门课平均分;3.找出所有50个分数中最高的分数所对应的学生和课程;4.计算平均分方差;*/#include<stdio.h>#include<math.h>float score[10][5];int i,j;f... 展开
/*输入10个学生5门课的成绩,分别用函数实现下列功能:1.计算每个学生平均分;2.计算每门课平均分;3.找出所有50个分数中最高的分数所对应的学生和课程;4.计算平均分方差;*/#include<stdio.h>#include<math.h>float score[10][5];int i,j;float largest=0;void main(){ float aver_st(int i);float aver_score(int j);float highest(int student,float subject);float fc=0;int student=1,subject=1;printf("请输入10个学生的成绩,按照每门课顺序依次输入:\n");for(i=0;i<10;i++) { printf("第%d个学生",i+1);for(j=0;j<5;j++) {printf("第%d门课的成绩:\n",j+1);scanf("%f",&score[i][j]);} } for(i=0;i<10;++i) printf("第%d个学生的平均分为:%.2f\n",i+1,aver_st(i));for(j=0;j<5;++j) printf("第j门课的平均分为:%.2f\n",j+1,aver_score(j));printf("50个分数中最高的分数是第%d个学生的第%d门课,分数为:%.2f\n",student,subject,largest);printf("平均分方差为:%.2f\n",fc);} float aver_st(int i)/*求每个学生的平均分*/{float score[10][5];return ((score[i][0]+score[i][1]+score[i][2]+score[i][3]+score[i][4])/5);}float aver_score(int i,int j)/*求每门课的平均分*/{float y=0;float score[10][5];for(i=0;i<10;i++)y=y+score[i][j];return (score[i][j]=y/5);} float highest(int student,float subject) /*找出50个分数中的最高分及对应的学生和课程*/ { for(i=0;i<10;++i) { for(j=0;j<5;++j) { if(largest<score[i][j]) { largest=score[i][j];} subject=j+1;} student=i+1;} return(largest);} 收起
其他答案
你定义参数和变量的方式有点不合理,全局变量和局部变量常常都定义为一个变量名了~~~~还有就是在使用的全局变量的函数中,返回的居然是全局变量?(如:return(largest);)这个让我有点汗颜。。。。你的代码我改了挺多地方(PS:其实我感觉另外重新写过比较好。。。但是我有点懒,直接在上面修改了),还有就是由于一次要输入50个数,这个调试起来比较麻烦,所以我改成只输入两个学生的数据了,你可以改 展开
你定义参数和变量的方式有点不合理,全局变量和局部变量常常都定义为一个变量名了~~~~还有就是在使用的全局变量的函数中,返回的居然是全局变量?(如:return(largest);)这个让我有点汗颜。。。。你的代码我改了挺多地方(PS:其实我感觉另外重新写过比较好。。。但是我有点懒,直接在上面修改了),还有就是由于一次要输入50个数,这个调试起来比较麻烦,所以我改成只输入两个学生的数据了,你可以改回来;还有就是帮你完善了最高分的算法,平均分方差就没搞了。。。因为我不清楚你到底需要怎么算。另外,我建议你,谨慎使用全局变量。代码如下:#include<stdio.h>#include<math.h>float score[10][5];int i,j;void main() { float aver_st(int i);float aver_score(int j);float highest(int &student,int &subject);float fc=0;float largest=0;int student=1,subject=1;printf("请输入2个学生的成绩,按照每门课顺序依次输入:\n");for(i=0;i<2;i++) { printf("第%d个学生",i+1);for(j=0;j<5;j++) {printf("第%d门课的成绩:\n",j+1);scanf("%f",&score[i][j]);} } for(i=0;i<2;++i) printf("第%d个学生的平均分为:%.2f\n",i+1,aver_st(i));for(j=0;j<5;++j) printf("第%d门课的平均分为:%.2f\n",j+1,aver_score(j));largest=highest(student,subject);printf("10个分数中最高的分数是第%d个学生的第%d门课,分数为:%.2f\n",student+1,subject+1,largest);printf("平均分方差为:%.2f\n",fc);} float aver_st(int i)/*求每个学生的平均分*/ {//float score[10][5];return ((score[i][0]+score[i][1]+score[i][2]+score[i][3]+score[i][4])/5);} float aver_score(int j)/*求每门课的平均分*/ {float y=0;//float score[10][5];for(i=0;i<2;i++) y=y+score[i][j];return (score[i][j]=y/2);} float highest(int &student,int &subject) /*找出50个分数中的最高分及对应的学生和课程*/ { float largest=0;for(i=0;i<2;++i) { for(j=0;j<5;++j) { if(largest<score[i][j]) { largest=score[i][j];student=i;subject=j;} } } return(largest);} 收起
2011-01-18 13:08
来自北京市
赞(0)点赞赞(0)举报
发布评论
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。
相关问题
- 1回答 转战小刀!麻烦大家指点迷津!练个火小刀!还是冰小刀!请说现在冰的不行了!不知道真的假的?
- 3回答 我刚买了多特瑞的精油,可是我看不懂上面的说明,我周围也没有人用这个品牌的精油,所以我想问问大家你们都是怎么使用多特瑞精油的,doterra多特瑞使用方法是怎么样的?麻烦各位小仙女了。
- 1回答 单位团购房名额转让,程序麻烦吗
- 1回答 求助大家一个问题土地转让招拍挂程序是什么?
- 4回答 求助大家一个问题土地转让招拍挂程序是什么?
- 1回答 求助大家一个问题土地转让招拍挂程序是什么
- 1回答 预备党员转正的问题!很急!!!!麻烦大家!
- 1回答 为什么用转换插头麻烦大家来告知下
- 5回答 大家好我在租了五亩的荒地转建设用地有能代办走程序的吗
- 3回答 麻烦大家说说多功能旋转开关什么品牌好?
- 5回答 大家好我在租了五亩的荒地转建设用地有能代办走程序的吗
- 5回答 大家好我在租了五亩的荒地转建设用地有能代办走程序的吗
- 5回答 大家好我在租了五亩的荒地转建设用地有能代办走程序的吗
- 1回答 问一下大家电动旋转晾衣架好吗?麻烦说说。
- 4回答 问一下大家电动旋转晾衣架好吗?麻烦说说。
- 4回答 大家好~想请问一下无锡办理按揭贷款程序,麻烦知道的告诉我一下呗,谢啦
- 4回答 这个房子的格局怎么样?这方面也看不懂,面积比较小的,这个是房间的图纸,麻烦大家指点一下,这样的房子实用
- 2回答 咱们澳城苑小区周边有住附近的邻居吗?有的话麻烦有空能多去工地转转,跟大家及时共享
- 1回答 本人急租安庆市中心及周边店面(免转让费),麻烦大家帮我问问,谢谢!
- 6回答 麻烦请问房产证怎么转户?谁能够说一下?大家能不能简单介绍?
回答成功


