fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. // 回文判定関数(メインの外に定義します)
  5. int isPalindrome(char s[]) {
  6. int left = 0; // 先頭の位置
  7. int right = strlen(s) - 1; // 末尾の位置
  8.  
  9. while (left < right) {
  10. // 左右の文字を比較し、違えば即座に 0 を返す
  11. if (s[left] != s[right]) {
  12. return 0;
  13. }
  14. left++; // 右へ進む
  15. right--; // 左へ進む
  16. }
  17. // すべて一致すれば 1 を返す
  18. return 1;
  19. }
  20.  
  21. int main(void) {
  22. char s[100];
  23. if (scanf("%s", s) != 1) return 0;
  24.  
  25. printf("%s\n -> ", s);
  26.  
  27. // ここで関数を呼び出し、結果(0か1)を数値として表示します
  28. printf("%d\n", isPalindrome(s));
  29.  
  30. return 0;
  31. }
Success #stdin #stdout 0s 5324KB
stdin
1NFORMAT1ON
stdout
1NFORMAT1ON
  -> 0