连接字符串


思路:具体看代码
AC代码:
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#define N 428
void get_ans(char s1[],char s2[],char ans[]){int len1=strlen(s1),len2=strlen(s2);int flag3=0;for(int i=0;i<len1;i++){int flag1=0,flag2=1,len=0;for(int j=i,k=0;j<len1&&k<len2;j++,k++){if(j==len1-1){flag1=1;}if(s1[j]==s2[k]){len++;}else{flag2=0;break;}}if(flag1&&flag2){strcpy(ans,s1);for(int i=len,j=0;j<len2;i++,j++){ans[len1+j]=s2[i];}flag3=1;break;}}if(flag3==0){strcpy(ans,s1);strcat(ans,s2);}
}
int main(){char s1[N],s2[N];while(scanf("%s %s",s1,s2)!=EOF){char ans1[N],ans2[N];get_ans(s1,s2,ans1);get_ans(s2,s1,ans2);int len1=strlen(ans1),len2=strlen(ans2);if(len1<len2){printf("%s\n",ans1);}else if(len1>len2){printf("%s\n",ans2);}else{if(strcmp(ans1,ans2)>=0){printf("%s\n",ans2);}else{printf("%s\n",ans1);}}}
}