有十个学生,每个学生的数据包括学号,姓名,三门课程的成绩,从键盘输入十个学生的数据,要求输出三门课程总平均成绩,以及最高分的学生数据(包括学号,姓名,三门课程成绩,平均成绩)。

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.结果显示
在这里插入图片描述

  • 15
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值