C程序设计(第四版) 谭浩强 例 9.4 有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息(函数加结构体)(个人设计)。

//例9.4 将N个奥特曼的成绩按照高低顺序输出
#include
#define N 5
void print(struct STUDENT* STU);
void sort(struct STUDENT* STU);
struct STUDENT
{
     
	long num;
	char name[20];
	float sore;
};
int main()
{
     
	struct STUDENT STU[N] = {
      {
     10001,"迪迦",87},{
     10002,"泰罗",62},{
     10003,"梦比优斯",98},{
     10004,"雷欧",56} ,{
     10005,"盖亚",76} };
	printf("The original is:\n");
	print(STU);
	sort(STU);
	printf("The order is:\n");
	print(STU);
}
void print(struct STUDENT* STU)
{
     
	for (int i = 0; i < N; i++)
	{
     
		printf("%ld\t%9s%7.1f\n", STU[i].num, STU[i].name, STU[i].sore);
	}
}
void sort(struct STUDENT* STU)
{
     
	int i, j;
	struct STUDENT temp;
	for (i = 0; i < N - 1; i++)
	{
     
		for (j = i + 1; j < N; j++)
		{
     
			if (STU[i].sore < STU[j].sore)
			{
     
				temp = STU[i];
				STU[i] = STU[j];
				STU[j] = temp;
			}
		}
	}
}

你可能感兴趣的:(谭浩强,C,c语言)