#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; } 我的第三题代码,自测通过,没时间做。。。。忧伤
点赞 2

相关推荐

不愿透露姓名的神秘牛友
11-22 15:49
已编辑
腾讯 dba 比美团多半k;+6w股 硕士985
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-05 22:40
点赞 评论 收藏
分享
11-14 19:40
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客企业服务