题解 | #查找兄弟单词#

查找兄弟单词

http://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

#include <string.h>

int main()
{
    int x,i,j,k,n,num=1,cet=0,y,z;
    scanf("%d",&x);
     
    char str[x][12],word[12]={0},str1[x][12],temp[12];
    memset(str, '\0', sizeof(str));
    memset(str1, '\0', sizeof(str1));
    for(i=0;i<x;i++)
    {
        scanf("%s",&str[i]);
    }
    scanf("%s",word);
     scanf("%d",&z);
    for(i=0;i<10;i++)
    {
        if(word[i]!='\0')
            num*=word[i];
        else
            break;
    }
    for(j=0;j<x;j++)
    {   y=1;
        for(k=0;k<i;k++)
        {
            y*=str[j][k];
        }
        if(y==num&&str[j][i]=='\0')
        {
         strcpy(str1[cet++], str[j]);
        }
} 
    y=cet;
    for(j=0;j<y;j++)
    {
        if(strstr(str1[j],word)!=NULL)
        {cet--;
           str1[j][0]='~';
        }
    }

    printf("%d\n",cet);
    if(cet>=z)
    {for(j=0;j<y;j++)
    {
        for(k=j;k<y;k++)
        {
            for(n=0;n<i;n++)
            {
                if(str1[j][n]<str1[k][n])
                 break;
                if(str1[j][n]>str1[k][n])
            {
                strcpy(temp,str1[j]);
                strcpy(str1[j],str1[k]);
                strcpy(str1[k],temp);
               break;
            }
            }
        }
    }
    printf("%s\n",str1[z-1]);
    }
}
全部评论

相关推荐

拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务