用了两个库函数,一下子把题目简化了很多!很多情况全部使用,上代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;
int main(){
char s[1005];
int ans[1005];
char *a;
int j;
while(cin>>s){ //输入字符串
int tmp = 0;
a=strtok(s,"5"); //分割字符串
while(a){ //判断返回是否为NULL
ans[tmp++]=atoi(a); //把字符型数字转换成整形!不用在用乘加法了。
a=strtok(NULL,"5"); //换下一个分割的标记串,如果有返回ture,否则false
}
sort(ans,ans+tmp); //把转换的整形排序了
for(j=0;j<tmp;j++)
if(j!=tmp-1)
cout<<ans[j]<<" ";
else
cout<<ans[j]; //OJ常见格式,最后一个分割串没空格
cout<<endl;
}
}