题解 | #查找兄弟单词#

查找兄弟单词

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

#include <stdio.h>
#include <string.h>

char *px(char *wd)
{
    char lskj[11];
    char *pwd=wd;
    sscanf(wd,"%s",lskj);
int len=strlen(lskj);
for(int i=0;i<len;i++)
{
    for(int j=0;j<len-i-1;j++)
    {
        if(lskj[j]>lskj[j+1])
        {
            char tmp=0;
            tmp=lskj[j];
            lskj[j]=lskj[j+1];
            lskj[j+1]=tmp;
        }
    }
}
    sscanf(lskj,"%s",wd);
return pwd;
}

int main() {
    int n=0;
    scanf("%d",&n);
    char str[1001][11]={0};
    for(int i=0;i<n;i++)
    {
        scanf("%s",str[i]);
    }
    char x[11]={0};
    scanf("%s",x);
    int k=0;
    scanf("%d",&k);
    char map[1001][11]={0};
    int pos=0;
    for(int i=0;i<n;i++)
    {
        if(strcmp(x,str[i])!=0&&(strlen(x)==strlen(str[i])))
        {
            char xsz[11]={0};
            char strsz[11]={0};
            strcpy(xsz,x);
            strcpy(strsz,str[i]);
            px(xsz);
            px(strsz);

            if(strcmp(xsz,strsz)==0)
            {
                strcpy(map[pos],str[i]);
                pos++;
            }
            memset(xsz,0,11*sizeof(char));
            memset(strsz,0,11*sizeof(char));
        }        
    }
    for(int i=0;i<pos;i++)
{
    for(int j=0;j<pos-i-1;j++)
    {
        if(strcmp(map[j],map[j+1])>0)
        {
            char tmp1[15];
            strcpy(tmp1,map[j]);
            strcpy(map[j],map[j+1]);
            strcpy(map[j+1],tmp1);
        }
    }
}
printf("%d\n%s",pos,map[k-1]);

}

全部评论

相关推荐

醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
就用这个吧:支持多益再加一个空气使用费
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务