一个C++的题目,,,,,

有4个学生,每个学生的数据包括学号、姓名、3门课(高数、英语、物理)的成绩。

从键盘输入学生数据,添加如下功能:

(1)input函数从键盘输入学生数据;

(2)average函数计算3门课的成绩的平均分;

(3)print函数输出平均分大于80分的学生信息(包括学号、姓名、3门课的成绩、平均分);输出平均分最高的学生信息(包括学号、姓名、3门课的成绩、平均分)。

【样例输入】

please input 1 of 4

num:101

name:zhangsan

score 1:45

score 2:78

score 3:65

 

 

please input 2 of 4

num:102

name:lisi

score 1:70

score 2:80

score 3:90

 

 

please input 3 of 4

num:103

name:wangwu

score 1:75

score 2:85

score 3:95

 

 

please input 4 of 4

num:104

name: zhaoliu

score 1:60

score 2:65

score 3:70

 

 

 

 

 

【样例输出】

 

输出平均分大于80分的学生信息-----------------------------------

学号 姓名 高数 英语 物理 平均分

103 wangwu 75.00 85.00 95.00 85.00

 

 

 

输出平均分最高的学生信息-----------------------------------

学号 姓名 高数 英语 物理 平均分

103 wangwu 75.00 85.00 95.00 85.00

定义一个学生的数据结构数组,按要求封装函数和输出就可以了

typedef struct _student
{
	int nid;
	char name[20];
	float gxscore;
	float wlscore;
	float yyscore;
	float avg;
}student;

void input(student *stu, int n)
{
	for (int i = 0; i < n; i++)
	{
		printf("请输入第%d个学生信息(学号 姓名 高数 英语 物理):", i + 1);
		scanf("%d %s %f %f %f", &stu[i].nid, stu[i].name, &stu[i].gxscore, &stu[i].yyscore, &stu[i].wlscore);
	}
}

void average(student *stu, int n)
{
	for (int i = 0; i < n; i++)
	{
		stu[i].avg = (stu[i].gxscore + stu[i].yyscore + stu[i].wlscore) / 3;
	}
}

void print(student *stu, int n)
{
	printf("学号\t姓名\t高数\t英语\t物理\t平均分\n");
	for (int i = 0; i < n; i++)
	{
        if(stu[i].avg > 80)
        {
printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n",stu[i].nid,stu[i].name,stu[i].gxscore,stu[i].yyscore,stu[i].wlscore,stu[i].avg);
        }
	}
	printf("最高分:\n学号\t姓名\t高数\t英语\t物理\t平均分\n");
	int k = 0;
	for (int i = 1; i < n; i++)
	{
		if (stu[i].avg > stu[k].avg)
			k = i;
	}
	printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n", stu[k].nid, stu[k].name, stu[k].gxscore, stu[k].yyscore, stu[k].wlscore, stu[k].avg);
}

int main()
{
	student stu[4];
	input(stu, 4);
	average(stu, 4);
	print(stu, 4);

	return 0;
}

 

请看这个搜索结果:c语言统计成绩- CSDN搜索

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632