1.程序编写
#include<stdio.h>
struct student
{
int num;
char name[20];
float score[3];
}stu[10];
int ave(struct student stu[])
{
float ave[3];
float sum;
for (int j = 0; j < 3; j++)
{
sum = 0;
for (int i = 0; i < 10; i++)
{
sum += stu[i].score[j];
}
ave[j] = sum / 10;
}
for (int j = 0; j < 3; j++)
{
printf("第%d门课程的平均成绩为:%.3f\n",j+1, ave[j]);
}
puts("*****************************************************");
return 0;
}
void find(struct student stu[])
{
int i, j;
float sum;
float ave[10];
for (i = 0; i < 10; i++)
{
sum = 0;
for (j = 0; j < 3; j++)
{
sum += stu[i].score[j];
}
ave[i] = sum / 3;
}
for (i = 0; i < 10; i++)
{
printf("第%d个学生的平均分为:%.2f\n", i + 1, ave[i]);
}
int t = 0;
int max = 0;
for (i = 0; i < 10; i++)
{
if (ave[max] < ave[i])
{
max = i;
t = i;
}
}
printf("最高分的学生数据为:%d,%s,%.2f,%.2f,%.2f,%.2f", stu[t].num, stu[t].name, stu[t].score[0], stu[t].score[1], stu[t].score[2], ave[t]);
}
void main()
{
printf("请输入十名学生的信息:\n");
for (int i = 0; i < 10; i++)
{
scanf("%d", &stu[i].num);
scanf("%s", stu[i].name);
for (int j = 0; j < 3; j++)
{
scanf("%f", &stu[i].score[j]);
}
}
puts("************************************");
ave(stu);
find(stu);
}
2.学生信息备份
//9001 叶凡 90 96 32
//9002 杨开 52 74 69
//9003 徐凤年 98 97 85
//9004 徐念凉 69 49 87
//9005 红薯 96 94 73
//9006 陈平安 64 62 68
//9007 石昊 96 76 90
//9008 陈如初 65 74 61
//9009 温华 63 12 42
//9010 诸禄山 63 35 64
3.结果显示