首页 > 电脑

为什么运行是空白?

更新时间2019-12-14 04:21:39

#include<stdio.h>#include<string.h>struct Student{int num;char name[20];float score[3];float aver;};struct Student stu[3]={{1,"wang",93,89,87},{2,"li",85,80,78},{3,"zhao",65,70,59}};int main(){ int i,j,m=0,n=0; float sum=0,average; struct Student stu[3]; for(i=0;i<10;i++); {  stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;  sum=sum+stu[i].aver; } average=sum/3.0; printf("%f ",average); for(i=0;i<3;i++)  for(j=0;j<3;j++)   if(stu[i].score[j]>stu[m].score[n])m=i,n=j;   printf("成绩最高的同学是:学号:%d 姓名:%s 三门课成绩:%5.1f,%5.1f,%5.1f 平均成绩:%6.2f ",    stu[m].num,stu[m].name,stu[m].score[0],stu[m].score[1],stu[m].score[2],stu[m].aver);   return 0;}

改好的程序(错的太多了)

#include<stdio.h>

#include<string.h>

 

struct Student

{

    int num;

    char name[20];

    float score[3];

    float aver;

};

 

struct Student stu[3] = { {

        1, "wang", 93, 89, 87

    }, {

        2, "li", 85, 80, 78

    }, {

        3, "zhao", 65, 70, 59

    }

};

 

int main()

{

    int i, j, m = 0, n = 0;

    float sum = 0, average;

//   struct Student stu[3]; //这个是多余的

    for (i = 0; i < 3; i++) //你只定义了3个人,怎么会用到10,另外,后面多分号了

        {

            stu[i].aver = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3.0;

            sum = sum + stu[i].aver;

        }

    average = sum / 3.0;

    printf("%f ", average);

    sum=0; //借用一下 

    for (i = 0; i < 3; i++)

        //      for (j = 0; j < 3; j++)

        //这里更不对了,你把A同学的一门成绩与B同学的另一门成绩比较?

        //      if (stu[i].score[j] > stu[m].score[n])

        //            m = i, n = j;

        if (sum< stu[i].aver ) //判平均成绩最高的就可以了

            {

                m=i;

                sum= stu[i].aver;

            }

    printf("成绩最高的同学是:学号:%d 姓名:%s 三门课成绩:%5.1f,%5.1f,%5.1f 平均成绩:%6.2f ",

           stu[m].num, stu[m].name, stu[m].score[0], stu[m].score[1],

           stu[m].score[2], stu[m].aver);

    return 0;

}

结果


为什么运行是空白?

上一篇:ELPAP10是什么类型的无线网卡,与fast无线网卡有什么区别

下一篇:佳能90D小清新照片怎么设置