#include"stdio.h"
struct STUDENT
{
char name[10];
int cord;
int score1;
int score2;
int score3;
float avg;
};
void main()
{
int i,j;
float t;
struct STUDENT student[10];
printf("请输入学生学号 姓名 线性代数
数学分数 C语言分数:\n");
for(i=0;i<10;i++)
{
scanf("%d %s %d %d %d",&student[i].cord,&student[i].name,&student[i].score1,&student[i].score2,&student[i].score3);
student[i].avg=1.0*((student[i].score1+student[i].score2+student[i].score3)/3);
}
for(i=0;i<10;i++)
{
printf("结果为:学生学号 姓名
线性代数
数学分数 c语言分数 平均分\n");
printf("
%d
%s
%d
%d
%d
%f\n",student[i].cord,student[i].name,student[i].score1,student[i].score2,student[i].score3,student[i].avg);
}
for(i=0;i<10;i++)
{
for(j=0;j<9-i;j++)
{
if(student[j].avg<student[j+1].avg)
{
t=student[j].avg;
student[j].avg=student[j+1].avg;
student[j+1].avg=t;
}
}
}
printf("\n\n");
for(i=0;i<3;i++)
printf("第%d名的姓名:%s
平均成绩:%-3.1f\n",i+1,student[i].name,student[i].avg);
}
这个程序运行后得不到题目要求的结果,拜托大家帮改哈,谢啦!!!
题目是:编写程序处理10个学生的信息,每个学生的信息包括:学号、姓名、三门成绩。要求从键盘输入学生的数据用一个函数实现,输出成绩表(包括每个学生的学号、姓名、三门成绩及平均分数)用一个函数,再用一个函数输出平均分在前3名的学生的学生姓名和平均分。