1
点赞
收藏
分享

微信扫一扫

【C语言程序】某班级学习委员整理获得奖学金排名,总成绩=智育成绩*60%+德育成绩*30%+体育成绩*10%,使用冒泡排序法将班级前12名同学的成绩进行排名。

我是小瘦子哟 2022-01-21 阅读 57

某班级学习委员整理获得奖学金排名,总成绩=智育成绩*60%+德育成绩*30%+体育成绩*10%,使用冒泡排序法将班级前12名同学的成绩进行排名。

题出自-------------------------------零基础学C语言

#include<stdio.h>
int main()
{
	float grade[12];
	float iTemp;
	int i;
	int j;
	int intellect[12];
	int morality[12];
	int pe[12];
	printf("请输入学生的智育成绩:\n");
	for (i = 0; i < 12; i++)
	{
		printf("intellect[%d]=", i);
		scanf_s("%d", &intellect[i]);
	}
	printf("请输入学生的德育成绩:\n");
	for (i = 0; i < 12; i++)
	{
		printf("morality[%d]=", i);
		scanf_s("%d", &morality[i]);
	}
	printf("请输入学生的体育成绩:\n");
	for (i = 0; i < 12; i++)
	{
		printf("pe[%d]=", i);
		scanf_s("%d", &pe[i]);
	}
	for (i = 0; i < 12; i++)
	{
		grade[i] = (float)((intellect[i] * 0.6 + morality[i] * 0.3 + pe[i] * 0.1));
	}
	printf("成绩排序为:\n");
	for (i = 0; i < 12; i++)
	{
		for (j = 11; j >i; j--)
		{
			if (grade[i] < grade[j])
			{
				iTemp = grade[j];
				grade[i] = grade[j];
				grade[j] = iTemp;
			}
		}
	}
	for (i = 0; i < 12; i++)
	{
		printf("%.2f\t", grade[i]);
		if (i == 5 || i == 11)
		{
			printf("\n");
		}
	}
	return 0;
}

 

举报
1 条评论

结果出来为什么会有负数,只有第一个是正的