hdu 1106 整理下水题 排序

来源:互联网 发布:瓦尔特磨床手动编程 编辑:程序博客网 时间:2024/04/27 15:28


Problem Description
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。

你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。

 

Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。  

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
 

Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
 

Sample Input
0051231232050775
 

Sample Output
0 77 12312320
 

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;char a[1001];int b[1001];int main(){while(scanf("%s",a)!=EOF){int i=0,j=0,k=0;int n;n=strlen(a);while(a[k]=='5')k++;j=k;while(a[k]){while(a[k]!='5'&&a[k]!=0)k++;a[k]=0;k++;b[i]=atoi(a+j);i++;while(a[k]=='5')k++;j=k;if(k==n)break;}sort(b,b+i);printf("%d",b[0]);for(j=1;j<i;j++)printf(" %d",b[j]);printf("\n");}  } 

Problem Description
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。

你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。

 

Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。  

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
 

Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
 

Sample Input
0051231232050775
 

Sample Output
0 77 12312320
 

0 0
原创粉丝点击