HDU 1106

长字符串输入,排序函数的运用

全部输入,然后拆开,转换字符串

#include
#include
#include
int comp(const void *a,const void *b)
{
    return *(long *)a-*(long *)b;
}

int main ()
{
    char a[1010];
    long b[1000],n,i,d,f;
    while(gets(a))
    {
        n=strlen(a);
        memset(b,0,sizeof(a));
        for(i=0,d=0;i<n;i++)
        {
            f=0;
            for(b[d]=0;i<n;i++)
            {
                if(a[i]=='5')
                    break;
                else if(b[d]==0&&a[i]=='0')
                {
                    f=1;
                    continue;
                }
                else
                {
                    f=1;
                    b[d]=b[d]*10+a[i]-'0';
                }
            }
            if(f)
                d++;
        }
        qsort(b,d,sizeof(long),comp); 
        for(i=0;i<d-1;i++)
            printf("%d ",b[i]);
        printf("%d\n",b[i]);
    }
    return 0;
}

你可能感兴趣的:(C语言字符串)