5-37 模拟EXCEL排序 (25分)
来源:互联网 发布:淘宝网运动休闲鞋女 编辑:程序博客网 时间:2024/05/22 16:52
5-37 模拟EXCEL排序 (25分)
Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。
输入格式:
输入的第一行包含两个正整数N(
输出格式:
在N行中输出按要求排序后的结果,即:当C=1时,按学号递增排序;当C=2时,按姓名的非递减字典序排序;当C=3时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
输入样例:
3 1000007 James 85000010 Amy 90000001 Zoe 60
输出样例:
000001 Zoe 60000007 James 85000010 Amy 90
思路
选择好恰当的结构存储数据就行了。
点击访问 PTA-测验
#include <stdio.h>#include<stdlib.h>#include <string.h>/*时间 结果 得分 题目 编译器 用时(ms) 内存(MB) 用户2016-07-30 13:42 部分正确 20 5-37 gcc 173 6 569985011测试点结果测试点 结果 得分/满分 用时(ms) 内存(MB)测试点1 答案正确 12/12 2 1测试点2 答案正确 4/4 1 1测试点3 答案正确 4/4 2 1测试点4 答案正确 2/2 1 1测试点5 答案正确 1/1 130 6测试点6 答案正确 1/1 171 6测试点7 答案正确 1/1 173 6查看代码*/typedef struct node *Node;struct node { int numberClass; char Name[9]; int Score;}*Students[100001];int cmp_numberClass(const void*a,const void*b);int cmp_Name(const void*a,const void*b);int cmp_Score(const void*a,const void*b);int main() { int n,operate; scanf("%d%d",&n,&operate); for(int i=0; i<n; i++) { Students[i]=(Node)malloc(sizeof(struct node)); scanf("%d%s%d",&Students[i]->numberClass,&Students[i]->Name,&Students[i]->Score); }switch(operate){ case 1:qsort(Students,n,sizeof(Node),cmp_numberClass);break; case 2:qsort(Students,n,sizeof(Node),cmp_Name);break; case 3:qsort(Students,n,sizeof(Node),cmp_Score);break; default :break;}for(int i=0;i<n;i++){ printf("%06d ",Students[i]->numberClass); printf("%s",Students[i]->Name); printf(" %d\n",Students[i]->Score);} return 0;}int cmp_numberClass(const void*a,const void*b) { Node x=*(Node*)a; Node y=*(Node*)b; return x->numberClass-y->numberClass;}int cmp_Name(const void*a,const void*b) { Node x=*(Node*)a; Node y=*(Node*)b; int result=strcmp(x->Name,y->Name); if(result)return result; else return cmp_numberClass(a,b);}int cmp_Score(const void*a,const void*b){ Node x=*(Node*)a; Node y=*(Node*)b; int result=x->Score-y->Score; if(result)return result; else return cmp_numberClass(a,b);}
0 0
- 5-37 模拟EXCEL排序 (25分)
- 5-37 模拟EXCEL排序 (25分)
- 5-3 模拟EXCEL排序 (25分)
- 模拟EXCEL排序(25 分)
- PTA 7-22(排序) 模拟EXCEL排序(25 分) 25分代码
- 5-37 模拟EXCEL排序
- PTA 7-22(排序) 模拟EXCEL排序(25 分)25分代码 结构体排序
- 5-37 模拟EXCEL排序 (c++结构体快排)
- 模拟EXCEL排序
- 5-12 排序 (25分)
- 5-12 排序 (25分)
- 5-12 排序 (25分)
- 5-3 排序 (25分)
- 5-22 堆栈模拟队列 (25分)
- 5-22 堆栈模拟队列 (25分)
- PTA 7-22 模拟EXCEL排序
- 10-排序5 PAT Judge (25分)
- 10-排序5 PAT Judge (25分)
- 编译问题记录
- 原始套接字抓取所有以太网数据包与分析
- EventBus的使用
- Python的sys
- Python在命令行中如何使用Tab键
- 5-37 模拟EXCEL排序 (25分)
- (第5讲)同一用户的不同页面共享数据的四种方法
- Groovy入门(一)
- 【android开发】自定义数字软键盘的设计与实现(1)
- eclipse停止在启动界面
- Marco Tech Blog
- Struts2中action跨包访问、Hibernate中list.query返回的类型
- 05.8#逻辑回归 回归分析
- 关于多继承的时候构造函数的实现