fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char* setPalindrome(const char*s) {
  6. int len=strlen(s);
  7. char* palindrome=(char*)malloc((2*len+1)*sizeof(char));
  8. if(palindrome==NULL) {
  9. printf("メモリの確保に失敗しました。\n");
  10. return NULL;
  11. }
  12.  
  13. strcpy(palindrome, s);
  14.  
  15. for(int i=0;i<len;i++) {
  16. palindrome[len+i]=s[len-1-i];
  17. }
  18.  
  19. palindrome[2*len]='\0';
  20.  
  21. return palindrome;
  22. }
  23.  
  24. int main() {
  25. char str[100];
  26. scanf("%99s",str);
  27.  
  28. char*palindrome=setPalindrome(str);
  29. if(palindrome!=NULL) {
  30. printf("回文:%s\n",palindrome);
  31. free(palindrome);
  32. }
  33.  
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0s 5276KB
stdin
abcd

stdout
回文:abcddcba