#include <stdio.h>
#include <string.h>
int main()
{
    char str[100];
    char out[100][300];
    int lon[100];
    int r=0,k=0;
    while(~scanf("%s",str)){
        for(int i=0,len=strlen(str);i<len;i++)//拆分
        {
            if(str[i]>='1'&&str[i]<='9'){
                if(str[i+1]<'1'||str[i+1]>'9'){//一位数字
                     memcpy(out[k++],&str[r],i-r+1);
                     r=i+1;
                     i=r;
                }
                else //两位数字
                {
                     memcpy(out[k++],&str[r],i+1-r+1);
                     r=i+2;
                     i=r;
                }
            }
                
        }
        int len2;
        char tm[50];
        for(int i=0;i<k;i++){//lon录值
            len2=strlen(out[i]);
            for(int j=0;j<len2;j++){
                if(out[i][j]>='1'&& out[i][j]<='9'){
                    if(len2-j==1)//一位数字
                    {
                        lon[i]=(int)out[i][j]-48;
                        out[i][j]='\0';
                    }
                    else
                        if(len2-j==2)
                    {
                        lon[i]=((int)out[i][j]-48)*10+(int)out[i][j+1]-48;
                       
                        out[i][j+1]='\0'; 
                        out[i][j]='\0';
                            break;
                    }
                }
            }
            
        }
        int q;
        char tmp[50];
        for(int i=0;i<k;i++)
            for(int h=0;h<k-1;h++){
                if(lon[h]>lon[h+1]){
                    q=lon[h];
                    lon[h]=lon[h+1];
                    lon[h+1]=q;
                    memcpy(tmp,out[h],strlen(out[h]));
                    memset(out[h],0,strlen(out[h]));
                    memcpy(out[h],out[h+1],strlen(out[h+1]));
                    memset(out[h+1],0,strlen(out[h+1]));
                    memcpy(out[h+1],tmp,strlen(tmp));
                    memset(tmp,0,strlen(tmp));
                }
            }
        for(int i=0;i<k;i++){
            for(int g=0;g<lon[i];g++)
             printf("%s",out[i]);
        }
       
    }
    return 0;
}
我的第三题代码,自测通过,没时间做。。。。忧伤