nyoj-1162-数字

来源:互联网 发布:python 3.7 编辑:程序博客网 时间:2024/06/06 00:19

数字

时间限制:1000 ms  |  内存限制:65535 KB
难度:0
描述
有一行数字 ,现在定义 0表示空格,即这行数字被分割成若干个数 要求将这些数按照从小到大顺序排列,若该行数字全为零 则表示为零,两个数字之间可能有多个0,开头和结尾可能都有0,所有的0都看成空格,数字的个数不超过100。
输入
输入有n组数据
每组数据都有一行数字(每个数在整形范围内)
输出
输出0或去掉多余空格的数据
样例输入
400000123123011230
样例输出
01231 123123
#include<stdio.h>#include<stdlib.h>#include<string.h>char a[11000];int b[110];int cmp(const void *a,const void *b){    return *(int *)a-*(int *)b;}int main(){    int i,k,s;    scanf("%d",&s);    while(s--)    {        bool flag=false;        scanf("%s",a);        k=0;        memset(b,0,sizeof(b));        for(i=0;a[i]!='\0';)        {            if(a[i]=='0')                i++;            else            {                while(a[i]!='0'&&a[i]!='\0')                {                    b[k]=b[k]*10+a[i]-'0';                    i++;                    flag=true;                }                k++;            }        }        if(!flag) printf("0\n");        else        {            qsort(b,k,sizeof(b[0]),cmp);            for(i=0;i<k;i++)                printf("%d ",b[i]);            printf("\n");        }    }    return 0;}


0 0