#include<iostream> #include<string> using std::string; using namespace std; const int MAX_NUM=1000; void merge(long num[],int n); int main() { string str; while(cin>>str) { int len=str.size(); long num[MAX_NUM]; int i=0,j,temp; for(j=0;j<MAX_NUM;j++) num[j]=0; for(j=0;j<len;) { temp=str[j]-'0'; if(temp!=5) { num[i]=num[i]*10+temp; j++; } else { if(j) i++; while(str[j]=='5') j++; if(j>len-1) i--; } } merge(num,i+1); cout<<num[0]; for(j=1;j<=i;j++) cout<<" "<<num[j]; cout<<endl; } return 0; } void merge(long num[],int n) { long temp; int k; for(int i=0;i<n;i++) { k=i; temp=num[i]; for(int j=i;j<n;j++) if(num[k]>num[j]) k=j; if(k!=i) { num[i]=num[k]; num[k]=temp; } } }
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数
最新推荐文章于 2022-02-07 14:46:27 发布
本文介绍了一个基于C++实现的字符串处理程序,该程序能够读取输入的字符串,并通过特定的逻辑处理数字字符,最终输出排序后的数字序列。具体而言,程序会忽略数字5,并将相邻非5数字组合成整数进行排序。
2675

被折叠的 条评论
为什么被折叠?



