结构体数组输出出错,求大神指教
程序代码:
#include<stdio.h> #define N 3 /*学生数*/ struct student /*建立结构体数据类型*/ { int num; /*学号*/ char name[20]; /*姓名*/ float score[3]; /*3门课成绩*/ float sum; /*总成绩*/ char grade; /*等级*/ }; struct student stu[N]; /*定义结构体数组*/ int main() { { int i; printf("请输入各学生的信息:学号、姓名、三门课成绩:\n"); for(i=0;i<N;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]); /*输入数据*/ stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; /*求每位同学的总分*/ } } int m; printf("num\t\tname\tscore1\tscore2\tscore3\tsum\tgrede\n"); /*定义输出函数*/ for(m=0;m<N;m++) { printf("%d\t\t%c\t%-8.1f%-8.1f%-8.1f%-8.1f\t",&stu[m].num, stu[m].name,&stu[m].score[0],&stu[m].score[1], &stu[m].score[2],&stu[m].sum); if((m+1)<=N*0.95) printf("合格\n"); else printf("不合格\n"); } return 0; }
运行结果好多0.000000