MyException - 我的异常网
当前位置:我的异常网» 编程 » 天勤OJ 标题1371: 成绩排序

天勤OJ 标题1371: 成绩排序

www.MyException.Cn  网友分享于:2013-02-20  浏览:2次
天勤OJ 题目1371: 成绩排序
题目描述
从键盘输入4 个学生的数据(包括姓名、年龄和成绩),按成绩从高到底排序,并输出其中成绩次高者的所有数据。

 

输入

 输入4行,每一行表示一个学生的数据,分别表示 姓名、年龄和成绩。

 

输出

 输出4行,表示排序后的结果,格式参见样例。

 

样例输入
aa 10 90
bb 20 100
cc 18 98
dd 19 93
 

样例输出
bb 20 100
cc 18 98
dd 19 93
aa 10 90
 

提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

 

来源

北京理工大学计算机专业2000年研究生复试上机试题

 
/*********************************
*   日期:2013-2-14
*   作者:SJF0115
*   题号: 天勤OJ 题目1371: 成绩排序
*   来源:http://acmclub.com/problem.php?id=1371
*   结果:AC
*   来源:北京理工大学计算机专业2000年研究生复试上机试题
*   总结:
**********************************/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

typedef struct Student
{
	char name[50];//姓名
	int age;//年龄
	int grade;//成绩
}Student;

Student student[5];
//排序函数
int cmp(const void *a,const void *b){
	struct Student *c = (Student *)a;
	struct Student *d = (Student *)b;
	return d->grade - c->grade;
}
int main()
{
	int i;
	//输入
    for(i = 0;i < 4;i++){
		scanf("%s %d %d",student[i].name,&student[i].age,&student[i].grade);
	}
	//排序
	qsort(student,4,sizeof(student[0]),cmp);
	//输出
	for(i = 0;i < 4;i++){
		printf("%s %d %d\n",student[i].name,student[i].age,student[i].grade);
	}
    return 0;
}


文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有