#include<stdio.h>
#define N 2
struct student
{
int num;
char sex[5];
char name[10];
float grade[4];
float average;
}s[N];
void input(struct student s[])
{
int i, j;
for (i = 0; i < N; i++)
{
printf("请开始输入第%d个同学的信息:",i+1);
scanf("%d%s%s", &s[i].num, s[i].sex, s[i].name);
for (j = 0; j < 4; j++)
{
scanf("%f", &s[i].grade[j]);
}
}
}
void output(struct student s[])
{
int i, j;
printf("学生信息:\n");
printf("学号\t性别\t姓名\t四门成绩\t\t平均成绩\t");
printf("\n");
for (i = 0; i < N; i++)
{
printf("%d\t%s\t%s\t", s[i].num, s[i].sex, s[i].name);
for (j = 0; j < 4; j++)
{
printf("%.2lf ", s[i].grade[j]);
}
printf("%.2lf", s[i].average);
printf("\n");
}
}
void average(struct student s[])
{
int i, j;
float sum;
for (i = 0; i < N; i++)
{
sum = 0.0;
for (j = 0; j < 4; j++)
{
sum += s[i].grade[j];
}
s[i].average = sum / 4;
}
}
void function(struct student s[])
{
//比较平均成绩
int index = 0;
int i = 0; int j = 0;
float max = s[0].average;
for (i = 0; i < N; i++)
{
if (s[i].average > max)
{
max = s[i].average;
index = i;
}
}
//输出成绩最高信息
printf("平均成绩最高的学生信息:\n");
printf("学号\t性别\t姓名\t四门成绩\t\t平均成绩\t\n");
printf("%d\t%s\t%s\t", s[index].num, s[index].sex, s[index].name);
for (j = 0; j < 4; j++)
{
printf("%.2lf ", s[index].grade[j]);
}
printf(" %.2lf", s[index].average);
}
int main()
{
input(s);
average(s);
output(s);
function(s);
return 0;
}
有N个学生,学号,姓名,性别,四门课成绩,键盘上输入信息,输出总平均分成绩最高
最新推荐文章于 2024-04-13 11:36:35 发布