输出包含两次原子串的最短字符串
例如:
输入:aba
输出:ababa
例如:
输入:aba
输出:ababa
#include <stdio.h>
#define N 100
int main()
{
char a[N],b[N];
int i=0;
int len,j=0,k=0;
char *m,*n;
scanf("%s",a);
while(a[i]!='\0'){
i++;
}
len=i;
for(m=a,n=a,n++;*n!='\0';n++){
if(*m!=*n){
if(k!=0){
m=a;k=0;
}
}else{
b[k]=*n;
m++;
k++;
}
}
while(b[j]!='\0'){
j++;
}
for(;j<len;j++,i++)
{
a[i]=a[j];
}
puts(a);
}