#include
// 定义结构体
struct student
{
int num;
char name[20];
float chinese;
float math;
float english;
float average;
}a[];
// 输入学生信息函数
int main()
{
float sum;
printf("====================================================================\n");
for (int i = 0; i <3;i++)
{
sum = 0;
// printf(" 输入的 %d 个学生信息 :\n",i + 1);
printf(" 输入学号 :\n");
scanf_s("%d",&a[i].num);
printf(" 输入姓名 :\n");
scanf_s("%s",&a[i].name);
printf(" 输入语文成绩 :\n");
scanf_s("%f",&a[i].chinese);
sum = (float)(sum + a[i].chinese);
printf(" 输入数学成绩 :\n");
scanf_s("%f",&a[i].math);
sum = (float)(sum + a[i].math);
printf(" 输入英语成绩 :\n");
scanf_s("%f",&a[i].english);
sum = (float)(sum + a[i].english);
a[i].average = (float)(sum / 3.0);
}
printf("====================================================================\n");
return = 0
}
// 输出学生信息
int main()
{
printf(" 全部学生信息如下 :\n");
printf("====================================================================\n");
for (int i = 0; i<3;i++)
{
printf("number name math chinese english average\n");
printf(" %d %s %3.2f %3.2f %3.2f %3.2f\n",a[i].num,a[i].name,a[i].math,a[i].chinese,a[i].english,a[i].average);
}
printf("====================================================================\n");
return = 0
}
// 输出单科成绩最高学生信息
int main()
{
printf(" 单科成绩最高学生信息 \ n");
printf("====================================================================\n");
int temp,j,i;
for (int i = 0; i < 3; i++)
{
for (int j; j < 2 - i; j++)
{
if (a[j].chinese> a[j + 1].chinese)
temp=a[j+1]
a[j+1]=a[j]
a[j]=temp
}
}
for (int i = 0; i < 3; i++)
{
for (int j; j < 2 - i; j++)
{
if (a[j].english > a[j + 1].english)
temp = a[j + 1]
a[j + 1] = a[j]
a[j] = temp
}
}for (int i = 0; i < 3; i++)
{
for (int j; j < 2 - i; j++)
{
if (a[j].math> a[j + 1].math)
temp = a[j + 1]
a[j + 1] = a[j]
a[j] = temp
}
}
printf(" 语文成绩最高者 :\n");
printf(" 学号 姓名 语文成绩 \ n");
printf(" %3d %3s %3.2f\n", awrry[0].num, awrry[0].name, awrry[0].chinese);
printf(" 数学成绩最高者 :\n");
printf(" 学号 姓名 数学成绩 \ n");
printf(" %3d %3s %3.2f\n", awrry[0].num, awrry[0].name, awrry[0].math);
printf(" 英语成绩最高者 :\n");
printf(" 学号 姓名 英语成绩 \ n");
printf(" %3d %3s %3.2f\n", awrry[0].num, awrry[0].name, awrry[0].english);
printf("====================================================================\n");
return=0
}