HDU-1106-排序
来源:互联网 发布:常用协议端口有多少 编辑:程序博客网 时间:2024/06/09 22:51
#include<iostream>#include<string>#include<queue>#include<map>#include<set>#include<vector>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;/* 我觉得这题如果能够更好的使用string函数库里的函数,想必会很简单; 所以说,掌握必要的函数是很有必要的; s.substr(a,b) 表示在字符串s中从第a个数开始,截取b个字符; s.find('5') 表示在字符串s中找到字符5,并返回5第一个5的下标,s.npos表示没有找到;*/string s;bool cmp(int x,int y){ return x<y;}int main(){ while(cin>>s){ int cnt=0; int a[1005]={0}; while(s[0]=='5') s=s.substr(1,s.size()-1); // 首先去除开头就是5的数字; while(s.size()){ string temp; // 定义字符串,用于存储每次截取下来的字符串; if(s.find('5')!=s.npos) temp=s.substr(0,s.find('5')),s=s.substr(s.find('5'),s.size()-s.find('5')); // 还有5的时候,截取第一个5前面的部分; else temp=s,s=""; // 找不到5的时候,就只剩下这一串字符串; while(s[0]=='5') s=s.substr(1,s.size()-1); // 道理同21行,去除剩余s字符串开头的5; for(int i=0;i<temp.size();i++) a[cnt]=a[cnt]*10+temp[i]-'0'; // 将截取下来的字符串转化成数字,存在数组中; cnt++; } sort(a,a+cnt,cmp); // 从小到大排序 for(int i=0;i<cnt-1;i++) printf("%d ",a[i]); printf("%d\n",a[cnt-1]); } return 0;}
0 0
- HDU 1106 排序
- hdu 1106排序
- hdu 1106 排序
- hdu 1106 排序
- hdu-1106 排序
- HDU-1106 排序
- HDU 1106 排序
- hdu 1106 排序
- hdu 1106 排序
- HDU 1106 排序
- HDU 1106 排序
- HDU 1106 排序
- HDU-1106排序
- hdu 1106 排序
- hdu 1106 排序
- hdu 1106 排序
- HDU 题目1106 排序
- HDU 1106 排序
- 寻找脚码(C百例,折半&&测时)
- 欢迎使用CSDN-markdown编辑器
- AfxBeginThread 函数的用法实例讲解
- Python Security 之 端口扫描
- POI 3.8版本导出excel问题
- HDU-1106-排序
- I2C总线-学习总结
- 【c语言】统计一个数字在排序数组中出现的次数
- Java.io.StreamTokenizer的使用小结
- 活动(activity)的生命周期
- HDU - 3001 Travelling (状态压缩)
- NSString 字符串
- 黑马程序员——基础学习(十)API中Arrays、Integer、正则表达式以及日期类的相关应用
- Mex文件编写实例: entropy used in mutual information