题目如下:
假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩。输入n个学生的成绩信息,计算并输出平均分最高的学生信息。
不完整程序如下。请在begin和end之间将代码补充完整。
这是我自己补的代码:
输入第一组数据之后回车程序就结束了。输出的数据也是乱的。
#include <stdio.h>
struct student{ /*学生信息结构类型定义*/
int num; /*学号*/
char name[10]; /*姓名*/
int computer,english,math; /*三门课程成绩*/
double average; /*个人平均成绩*/
};
int main(void)
{
int i,n;
struct student s1,max;
scanf("%d",&n);
/********* begin **********/
max.average=0;
for(i=1;i<=n;i++)
{
scanf("%d %c %d %d %d",&s1.num,s1.name,&s1.computer,&s1.english,&s1.math);
s1.average=(s1.computer+s1.english+s1.math)/3.0;
if(s1.average>max.average)
max=s1;
}
/********* end **********/
printf("%d %s %d %d %d ",max.num,max.name,max.computer,max.english,max.math);
printf("%.3f\n",max.average);
return 0;
}
假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩。输入n个学生的成绩信息,计算并输出平均分最高的学生信息。
不完整程序如下。请在begin和end之间将代码补充完整。
这是我自己补的代码:
输入第一组数据之后回车程序就结束了。输出的数据也是乱的。
#include <stdio.h>
struct student{ /*学生信息结构类型定义*/
int num; /*学号*/
char name[10]; /*姓名*/
int computer,english,math; /*三门课程成绩*/
double average; /*个人平均成绩*/
};
int main(void)
{
int i,n;
struct student s1,max;
scanf("%d",&n);
/********* begin **********/
max.average=0;
for(i=1;i<=n;i++)
{
scanf("%d %c %d %d %d",&s1.num,s1.name,&s1.computer,&s1.english,&s1.math);
s1.average=(s1.computer+s1.english+s1.math)/3.0;
if(s1.average>max.average)
max=s1;
}
/********* end **********/
printf("%d %s %d %d %d ",max.num,max.name,max.computer,max.english,max.math);
printf("%.3f\n",max.average);
return 0;
}