我是弱鸡,我是弱鸡。。。求助求助

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我是弱鸡,我是弱鸡。。。求助求助相关的知识,希望对你有一定的参考价值。

输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。

你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。  

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
 Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    char a[1000][1000],b[1000];
    int i=0,j=0,k=0,s,q,w,e=0,r=0,t;
    int c[1000];
    while(cin>>b)
    {
        while(b[k]!=‘\0‘)
        {
            if(b[k]!=‘5‘){a[i][j]=b[k];j++;k++;}
            else {a[i][j]=‘\0‘;if(j!=0)i++;j=0;k++;}
        }
        a[i][j]=‘\0‘;
        if(j!=0)i++;
        for(q=0;q<i;q++)
        {
            strcpy(b,a[q]);
            s=strlen(b);
            for(w=0;w<s-1;w++)
            {
                if(b[w]==‘0‘)e++;
                else break;
            }




            for(w=e;w<s;w++)
            {
                a[q][r]=b[w];r++;
            }
            a[q][r]=‘\0‘;
            e=0;r=0;
        }
        for(q=0;q<i;q++)
        {
            c[q]=strlen(a[q]);
        }
        for(q=0;q<i;q++)
        {
            for(w=0;w<i;w++)
            {
                if(c[q]<c[w]){t=c[q];c[q]=c[w];c[w]=t;strcpy(b,a[q]);strcpy(a[q],a[w]);strcpy(a[w],b);}
                if(c[q]==c[w]&&strcmp(a[q],a[w])<0){t=c[q];c[q]=c[w];c[w]=t;strcpy(b,a[q]);strcpy(a[q],a[w]);strcpy(a[w],b);}
            }
        }




        for(q=0;q<i-1;q++)
        {
            cout<<a[q]<<" ";
            
        }
        cout<<a[q];
        
        cout<<endl;
        i=0;j=0;k=0;
    }
    return 0;
}
 

以上是关于我是弱鸡,我是弱鸡。。。求助求助的主要内容,如果未能解决你的问题,请参考以下文章

从月薪40K~70K,从弱鸡程序员到P7技术栈精通,我是怎么过来的?

从月薪40K~70K,从弱鸡程序员到P7技术栈精通,我是怎么过来的?

DSDT是你黑苹果生涯必须要过的一个坎,不要觉得它很难,就是一个纸老虎,弱鸡一个,so easy

什么是弱GIS

弱鸡的关于类似适配器模式的思考

弱鸡小富翁