那个大佬帮帮,c语言编程数据结构试卷分析系统

 

typedef struct _student
{
	char name[20];
	unsigned int nID;
	int score;
}student;

int main()
{
	student stu[50];
	int i,n;
	printf("请输入实际考生人数:");
	scanf_s("%d", &n);
	for (i = 0; i < n; i++)
	{
		printf("\n请输入第%d个学生姓名:", i + 1);
		scanf_s("%s", stu[i].name, 20);
		printf("\n请输入第%d个学生学号:", i + 1); 
		scanf_s("%d", &stu[i].nID);
		printf("\n请输入第%d个学生成绩:", i + 1);
		scanf_s("%d", &stu[i].score);
	}
	//
	int nL = 0, nJ = 0, nM = 0, nH = 0, nC = 0;
	int nMax = 0, nMin = 101;
	float fAvg = 0.0,fTotal = 0.0;
	for (i = 0; i < n; i++)
	{
		if (stu[i].score >= 90)
			nC++;
		else if (stu[i].score >= 80)
			nH++;
		else if (stu[i].score >= 70)
			nM++;
		else if (stu[i].score >= 60)
			nJ++;
		else
			nL++;
		if (nMax < stu[i].score)
			nMax = stu[i].score;
		if (nMin > stu[i].score)
			nMin = stu[i].score;
		fTotal += stu[i].score;
	}
	fAvg = fTotal / n;
	printf("最高分:%d,最低分:%d,平均分:%.2f\n", nMax, nMin, fAvg);
	printf("优秀人数:%d,占比:.2f%%%\n", nC, nC*1.0 / n * 100);
	printf("良好人数:%d,占比:.2f%%%\n", nH, nH*1.0 / n * 100);
	printf("中等人数:%d,占比:.2f%%%\n", nM, nM*1.0 / n * 100);
	printf("及格人数:%d,占比:.2f%%%\n", nJ, nJ*1.0 / n * 100);
	printf("不及格人数:%d,占比:.2f%%%\n", nL, nL*1.0 / n * 100);

	return 0;
}

 

你这实考人数是输入数据呗?

只需要计算其它红色数值?

不需要按这个表格式输出吧?

这个写起来也不复杂的,用结构体,函数,循环等C语言的基本知识,就能做好这个系统。

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

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

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