题解 | #查找兄弟单词#
查找兄弟单词
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]);
}
