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

话不多说,直接上代码,小白一个,如有错误,评论必修正。

#include <stdio.h>
#include <stdlib.h>
#define m 4     //学生个数
#define n 3     //课程数
struct stu
{
	char xuehao[100];
	char name[10];
	float chengji[n];
}p[m];
void abb(struct stu p[])
{
	int a, b, e = 0, f = 0;
	float d = 0, g = 0, c;
	for (a = 0; a <= m - 1; a++)
	{
		c = 0;
		for (b = 0; b <= n - 1; b++)
			c += p[a].chengji[b];
		d += c;       //总成绩
		if (e < c)    //判断成绩大小
			f = a;
	}
	d = d / m;
	for (b = 0; b < n; b++)
		g += p[f].chengji[b];
	g = g / n;
	printf("总平均成绩为%f\n", d);
	printf("最高分的学生的数据为:%s %s ", p[f].xuehao, p[f].name);
	for (b = 0; b <= n - 1; b++)
		printf("%f ", p[f].chengji[b]); 
	printf("平均成绩为:%f", g);

}
int main()
{
	int a, b, c, d;
	for (a = 0; a <= m - 1; a++)
	{
		b = a + 1;
		printf("请输入第%d个学生的信息(学号 姓名 第一科成绩 第二科成绩 第三科成绩):", b);   
		for (d = 0; (p[a].xuehao[d] = getchar()) != ' '; d++);    //输入学号,空格结束输入
		p[a].xuehao[++d] = '\0';     
		for (d = 0; (p[a].name[d] = getchar()) != ' '; d++);      //输入名字,空格结束
		p[a].name[++d] = '\0';
		for (c = 0; c <= n-1; c++)
			scanf_s("%f", &p[a].chengji[c]);        //输入成绩,空格结束
	}
	abb(p);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值