1、基本输入程序
# include <stdio.h>
struct student{
char number[6];
char name[10];
int grade[3];
};
void main()
{
struct student stus[3];
int i,j;
for(i=0;i<3;i++)
{
printf("请输入学生学号:\n");
scanf("%s",stus[i].number);
printf("请输入学生姓名:\n");
scanf("%s",stus[i].name);
for(j=0;j<3;j++)
{
printf("请输入第%d门课程的成绩:\n",j+1);
scanf("%d",&stus[i].grade[j]);
}
}
for(i=0;i<3;i++)
{
printf("第%d个学生的学号是%s,姓名是%s",i+1,stus[i].number,stus[i].name);
}
}
2、增加对总平均分的统计功能
# include <stdio.h>
struct student{
char number[6];
char name[10];
int grade[3];
};
void main()
{
struct student stus[3];
int i,j;
double average;//首先尝试使用int
double total=0;//其次尝试使用int
for(i=0;i<3;i++)
{
printf("请输入学生学号:\n");
scanf("%s",stus[i].number);
printf("请输入学生姓名:\n");
scanf("%s",stus[i].name);
for(j=0;j<3;j++)
{
printf("请输入第%d门课程的成绩:\n",j+1);
scanf("%d",&stus[i].grade[j]);
}
};
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
total=total+stus[i].grade[j];
}
}
average=total/3/3;
printf("平均分为%f",average);
}
3、完整的程序
# include <stdio.h>
struct student{
char number[6];
char name[10];
int grade[3];
};
void main()
{
struct student stus[3];
int i,j;
double average;//首先尝试使用int
double total=0;//其次尝试使用int
int maxGrade=0;
int stuOfMaxGrade=0;
for(i=0;i<3;i++)
{
printf("请输入学生学号:\n");
scanf("%s",stus[i].number);
printf("请输入学生姓名:\n");
scanf("%s",stus[i].name);
for(j=0;j<3;j++)
{
printf("请输入第%d门课程的成绩:\n",j+1);
scanf("%d",&stus[i].grade[j]);
}
};
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
total=total+stus[i].grade[j];
}
}
average=total/3/3;
printf("平均分为%f\n",average);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(maxGrade<stus[i].grade[j])
{
maxGrade=stus[i].grade[j];
stuOfMaxGrade=i;
}
}
}
total=0;
for(j=0;j<3;j++)
{
total=total+stus[stuOfMaxGrade].grade[j];
}
average=total/3;
printf("最高分数的学生学号是%s,姓名是%s\n",stus[stuOfMaxGrade].number,stus[stuOfMaxGrade].name);
for(j=0;j<3;j++)
{
printf("第%d门课程的成绩是%d\n",j+1,stus[stuOfMaxGrade].grade[j]);
}
printf("该学生的平均成绩是%f\n",average);
}