例 9.4 有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。

C程序设计(第四版) 谭浩强 例9.4 个人设计

例 9.4 有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。

代码块:

#include 
#include 
struct Student{                                    //定义结构体类型Student
	int num;
	char name[20];
	float score;
};
void input(Student *st, int n);                    //定义输入函数
void print(Student *st, int n);                    //定义输出函数
void sort(Student *st, int n);                     //定义排序函数
int main()
{
	Student *stu;                                  //定义结构体指针stu
	int n;
	printf("Please enter Student number: ");       //输入学生个数
	scanf("%d", &n);
	stu=(Student*)malloc(n*sizeof(Student));       //为stu分配内存空间
	input(stu, n);                                 //调用输入函数
	sort(stu, n);                                  //调用排序函数
	print(stu, n);                                 //调用输出函数
	system("pause");
	return 0;
}
//输入函数
void input(Student *st, int n)
{
	int i;
	for (i=0; inum, p->name, p->score), p++);
}
//排序函数
void sort(Student *st, int n)
{
	int i, j;
	Student temp;
	for (i=0; ist[j].score){
				temp=st[i], st[i]=st[j], st[j]=temp;
			}
}

你可能感兴趣的:(个人设计)