NYOJ--数字

    xiaoxiao2021-12-14  21

    数字 时间限制: 1000ms内存限制: 128000KB 64位整型:      Java 类名: 上一题  提交  运行结果  统计   讨论版  下一题 类型:  没有    添加 题目描述 有一行数字 ,现在定义 0表示空格,即这行数字被分割成若干个数 要求将这些数按照从小到大顺序排列,若该行数字全为零 则表示为零,两个数字之间可能有多个0,开头和结尾可能都有0,所有的0都看成空格,数字的个数不超过100。 输入 输入有n组数据 每组数据都有一行数字(每个数在整形范围内) 输出 输出0或去掉多余空格的数据 样例输入 4 000 00123 12301 1230 样例输出 0 123 1 123 123 来源 NYOJ #include<stdio.h> #include<string.h> #include<stdlib.h> const int maxn=105000; char s[maxn],temp[maxn]; int ans[maxn]; int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int t; scanf("%d",&t); while(t--) { int i,len,k=0,j=0; scanf("%s",s); len=strlen(s); for(i=0;i<=len;i++) { if(s[i]=='0'||i==len) { temp[j]='\0'; if(strlen(temp)) ans[k++]=atoi(temp); memset(temp,0,sizeof(temp)); j=0; } else temp[j++]=s[i]; } if(k==0) { printf("0\n"); continue; } qsort(ans,k,sizeof(ans[0]),cmp); for(i=0;i<k;i++) printf("%d ",ans[i]); printf("\n"); } }
    转载请注明原文地址: https://ju.6miu.com/read-963853.html

    最新回复(0)