华为OJ(成绩排序)
来源:互联网 发布:软件外包公司好不好 编辑:程序博客网 时间:2024/05/21 14:44
输入多行,先输入要排序的人的个数,然后分别输入他们的名字和成绩,以一个空格隔开
用户名字,字符串,非空串,长度不超过20;
成绩,整数,范围【0,100】
输入排序方式,0或1,0表示成绩从高到低方式输出名字和成绩,1表示成绩从低到高方式输出名字和成绩
按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开
#include<iostream>#include<string>using namespace std;void score_sort(string**,int,int);int main(){int n,flag;//flag表示排序标志 0由高到低,1由低到高cin>>n>>flag;string **s=new string*[n];for(int i=0;i<n;i++)s[i]=new string[2];for(int i=0;i<n;i++)cin>>s[i][0]>>s[i][1];score_sort(s,flag,n);//system("pause");return 0;}void score_sort(string** s,int flag,int n){if(flag){for(int i=0;i<n-1;i++)for(int j=i+1;j<n;j++)if(atoi(s[i][1].c_str())>atoi(s[j][1].c_str())){string tmp[2];tmp[0]=s[i][0];tmp[1]=s[i][1];s[i][0]=s[j][0];s[i][1]=s[j][1];s[j][0]=tmp[0];s[j][1]=tmp[1];}}else{for(int i=0;i<n-1;i++)for(int j=i+1;j<n;j++)if(atoi(s[i][1].c_str())<atoi(s[j][1].c_str())){string tmp[2];tmp[0]=s[i][0];tmp[1]=s[i][1];s[i][0]=s[j][0];s[i][1]=s[j][1];s[j][0]=tmp[0];s[j][1]=tmp[1];}}for(int i=0;i<n;i++)cout<<s[i][0]<<" "<<s[i][1]<<endl;}
0 0
- 华为OJ(成绩排序)
- 华为OJ(成绩排序)
- 【华为oj】成绩排序
- 【华为 OJ 】成绩排序
- [华为OJ]成绩排序
- 华为oj之成绩排序
- 华为OJ测试--成绩排序
- 【华为OJ】【046-成绩排序】
- 华为OJ中级题-成绩排序
- 华为OJ——成绩排序
- [华为OJ--C++]046-成绩排序
- 华为oj 成绩排序java编码
- 华为OJ——成绩排序
- 华为OJ训练之0029-170109-成绩排序
- 华为OJ(字符串排序)
- 华为OJ(字符串排序)
- OJ题:成绩排序
- OJ----成绩排序(Comparator)**
- hdoj1951
- 不用加减乘除做加法题目:写一个函数,求两个整数之和
- Java编程思想读书笔记:第2章 一切都是对象
- poj 1734
- 第四集 牛顿方法
- 华为OJ(成绩排序)
- priority_queue优先队列容器
- HDU 3836--Equivalent Sets【求有向图最少增加多少边使图强连通 && Scc缩点新建图】
- 《蛛丝和梅花》小赏
- 位运算 实现加法
- Ionic:一款用web技术开发类似原生App的神乎其技的html5框架
- PHP:echo print var_dump()和print_r()的区别
- System.getProperty("user.dir"); 获得系统属性
- 第15章 Hibernate的映射技巧