输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
注意atoi,strtok函数的妙用
strtok函数详解:https://www.cnblogs.com/Bob-tong/p/6610806.html
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <string> #include <cstdlib> using namespace std; char s[1000+10]; int a[1000+10]; int main() { char *p; int cnt; while(gets(s)!=NULL) { cnt=0; p=strtok(s,"5"); while(p) { a[cnt++]=atoi(p); p=strtok(NULL,"5"); } if(cnt>0) { sort(a,a+cnt); for(int i=0; i<cnt-1; i++) printf("%d ", a[i]); printf("%d ", a[cnt-1]); } } return 0; }