0$房天下问答|编译和连接无误但运行错误$https://m.fang.com/ask/ask_1452224.html$https://static.soufunimg.com/common_m/m_public/201511/images/asksharedefault.png
packc/pages/ask/detail/detail?askid=1452224
-
编译和连接无误但运行错误
#include <stdio.h>struct student{int num;char name[10];double score[3];double aver;};void main(){ void input(struct student stu[]); struct student max(struct student stu[]); struct student stu[10],*p=stu; input(p); max(p); } void input(struct student stu[]){ int i; printf("请输入各学生的信息:学号、姓名、三门课成绩:\n"); for (i=0;i<10;i++) {scanf("%d,%s,%f,%f,%f",stu[i].num,&stu[i].name,stu[i].score [0],stu[i].score [1],stu[i].score [2]);} }struct student max(struct student stu[]){ int i,m=0; stu[i].aver=(stu[i].score [0] +stu[i].score [1] +stu[i].score [2])/3.0; for(i=1;i<10;i++) {if(stu[i].aver>stu[m].aver)m=i; } return stu[m]; printf("平均成绩最高的学生是:\n"); printf("学号:%d\n姓名:%s\n三门课成绩:%5.1f,%5.1f,%6.1f\n平均成绩:%6.2f\n",stu[m].num,stu[m].name,stu[m].score[0],stu[m].score[1],stu[m].score[2],stu[m].aver ); }帮我试一下好吗 谢谢!
更多
共1个回答
-
-
-
我不安你乱
丨Lv 2
你的程序max函数中:int i,m=0; stu[i].aver=(stu[i].score [0] +stu[i].score [1] +stu[i].score [2])/3.0; for(i=1;i<10;i++) {if(stu[i].aver>stu[m].aver)m=i; }你这样声明变量,i是不是赋值了.你试下.还有这几句只对 stu[0].aver进行了赋值,其它的没赋值就用,肯定会报错.
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。

关注成功