#include <stdio.h>
#include <stdlib.h>
int myStrlen(char s[]){
int i;
for(i=0;s[i]!='\0';i++);
return i;
}
char *setPalindrome(char s[]){
char *tmp;
int len=myStrlen(s);
int i,j;
tmp
=(char*)malloc(sizeof(char)*(2*len
+1)); if(tmp==NULL){
return 0;
}
for(i=0;i<len;i++){
tmp[i]=s[i];
}
for(j=len-1;j>=0;j--){
tmp[i++]=s[j];
}
tmp[i]='\0';
return tmp;
}
int main(){
int i;
char nyuryoku[1024];
char *kaibun;
kaibun = setPalindrome(nyuryoku);
printf("%s\n -> %s\n",nyuryoku
,kaibun
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBteVN0cmxlbihjaGFyIHNbXSl7CiAgICBpbnQgaTsKICAgIGZvcihpPTA7c1tpXSE9J1wwJztpKyspOwogICAgcmV0dXJuIGk7Cn0KCmNoYXIgKnNldFBhbGluZHJvbWUoY2hhciBzW10pewoJY2hhciAqdG1wOwoJaW50IGxlbj1teVN0cmxlbihzKTsKCWludCBpLGo7CgkKCXRtcD0oY2hhciopbWFsbG9jKHNpemVvZihjaGFyKSooMipsZW4rMSkpOwoJaWYodG1wPT1OVUxMKXsKCQlwcmludGYoIkVSUk9SXG4iKTsKCQlyZXR1cm4gMDsKCX0KCQoJZm9yKGk9MDtpPGxlbjtpKyspewoJCXRtcFtpXT1zW2ldOwoJfQoJCglmb3Ioaj1sZW4tMTtqPj0wO2otLSl7CgkJdG1wW2krK109c1tqXTsKCX0KCQoJdG1wW2ldPSdcMCc7CgkKCXJldHVybiB0bXA7Cn0KCmludCBtYWluKCl7CiAgICBpbnQgaTsKICAgIGNoYXIgbnl1cnlva3VbMTAyNF07IAogICAgY2hhciAqa2FpYnVuOyAgIAogICAgc2NhbmYoIiVzIixueXVyeW9rdSk7CiAgICBrYWlidW4gPSBzZXRQYWxpbmRyb21lKG55dXJ5b2t1KTsKICAgIHByaW50ZigiJXNcbiAgLT4gJXNcbiIsbnl1cnlva3Usa2FpYnVuKTsKICAgIGZyZWUoa2FpYnVuKTsKICAgIHJldHVybiAwOwp9Cg==