新手求助!!!!!!!!!!!!!!

baidu_33850850 2016-01-25 11:30:53
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
#include<stdio.h>
struct students
{
char num[10];
char name[10];
int s1;
int s2;
int s3;
}stu[100];

int main()
{
int N,i,s1=0,s2=0,s3=0,ave1,ave2,ave3;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%s%s%d%d%d",stu[i].num,stu[i].name,&stu[i].s1,&stu[i].s2,&stu[i].s3);
}
for(i=0;i<N;i++)
{
s1=s1+stu[i].s1;
s2=s2+stu[i].s2;
s3=s3+stu[i].s3;
}
ave1=s1/N;
ave2=s2/N;
ave3=s3/N;
printf("%d %d %d\n",ave1,ave2,ave3);
//下面有问题
double averge[100],max;
int t;
for(i=0;i<N;i++)
{
averge[i]=(stu[i].s1+stu[i].s2+stu[i].s3)/3;
}
max=averge[0];
for(i=0;i<N;i++)
{
if(averge[i]>max) {max=averge[i];t=i;}
}
printf("%s %s %d %d %d",stu[t].name,stu[t].num,stu[t].s1,stu[t].s2,stu[t].s3);
return 0;
}
...全文
157 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
帕奇笔记 2016-01-26
  • 打赏
  • 举报
回复
楼上说的对,就是这种情况。
lilianjie001 2016-01-26
  • 打赏
  • 举报
回复
引用 5 楼 baidu_33850850 的回复:
[quote=引用 4 楼 u012502355 的回复:] 这么晚了,不睡觉。还在写程序。 注意给t 赋值0(初始值) //下面有问题 double averge[100],max; int t = 0;
感谢~~可是为什么要给t 赋值呢?[/quote] if(averge[i]>max) { max=averge[i]; t=i; } if条件不成立,t没有默认值,stu[t]不知道你要哪个数据,打印不就出错了
baidu_33850850 2016-01-25
  • 打赏
  • 举报
回复
引用 4 楼 u012502355 的回复:
这么晚了,不睡觉。还在写程序。 注意给t 赋值0(初始值) //下面有问题 double averge[100],max; int t = 0;
感谢~~可是为什么要给t 赋值呢?
帕奇笔记 2016-01-25
  • 打赏
  • 举报
回复
这么晚了,不睡觉。还在写程序。 注意给t 赋值0(初始值) //下面有问题 double averge[100],max; int t = 0;
lilianjie001 2016-01-25
  • 打赏
  • 举报
回复
具体什么问题? 不过averge[i]=(stu[i].s1+stu[i].s2+stu[i].s3)/3;这里应该/3.0
baidu_33850850 2016-01-25
  • 打赏
  • 举报
回复
baidu_33850850 2016-01-25
  • 打赏
  • 举报
回复

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧