c语言结构体方面编程问题 求大神 已崩溃!!! 30
2编写一个程序,建立结构体类型表示一个学生的基本情况,包含以下成员项:学号、姓名、三门课的成绩、三门课的平均成绩。用该结构说明一个变量和一个指针,并完成成员项的输入、计算...
2 编写一个程序,建立结构体类型表示一个学生的基本情况,包含以下成员项:学号、姓名、三门课的成绩、三门课的平均成绩。用该结构说明一个变量和一个指针,并完成成员项的输入、计算平均值、输出结果(用变量及指针两种方式)。 在以上结构的基础上建立一个班级学生的基本情况(数组)。计算出每个学生三门课的平均成绩,输出平均成绩最高的学生的各成员项值。以5个学生为例调试程序。#include<stdio.h>struct student{ int num; char name[20]; float score[3]; float avscore;}stu[5],*p;void fun(struct student stu[5]){ int i,j,n=0;for(i=1;i<5;i++){if(stu[i].avscore>stu[n].avscore) n=i;}printf("%d %s\t",stu[n].num,stu[n].name);for(j=0;j<3;j++)printf("%.2f\t",stu[n].score[j]);}void main(){ p=stu; int i,j; float t,s=0; for(i=0;i<5;i++) {printf("输入一位同学的学号,姓名,三门课成绩:\n"); scanf("%d",&(p+i)->num); scanf("%s",&(p+i)->name); for(j=0;j<3;j++) { scanf("%.2f",&t); stu[i].score[j]=t; s+=t; } (p+i)->avscore=s/3; } printf("学号 姓名\t成绩1\t成绩2\t成绩3\n"); for(i=0;i<5;i++) { printf("%d %s\t",(p+i)->num,(p+i)->name); for(j=0;j<3;j++) printf("%.2f\t",stu[i].score[j]); printf("\n"); } fun(stu);}这个刚输完第一个同学的信息 就跳出来两次提示输入同学信息 然后再输一遍直接就结束了 求问大神怎么回事 而且里面数据为什么是负数?!
展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询