#include <stdio.h>
int isPalindrome(char s[]) {
int i, len = 0;
// 小文字を大文字に変換しながら長さを数える
while (s[len] != '\0') {
if ('a' <= s[len] && s[len] <= 'z') {
s[len] = s[len] - 32;
}
len++;
}
// 先頭と末尾から比較
for (i = 0; i < len / 2; i++) {
if (s[i] != s[len - 1 - i]) {
return 0; // 回文ではない
}
}
return 1; // 回文である
}
// メイン関数はそのままでOK
int main() {
char s[100];
printf("%s -> %d\n", s
, isPalindrome
(s
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgaXNQYWxpbmRyb21lKGNoYXIgc1tdKSB7CiAgICBpbnQgaSwgbGVuID0gMDsKCiAgICAvLyDlsI/mloflrZfjgpLlpKfmloflrZfjgavlpInmj5vjgZfjgarjgYzjgonplbfjgZXjgpLmlbDjgYjjgosKICAgIHdoaWxlIChzW2xlbl0gIT0gJ1wwJykgewogICAgICAgIGlmICgnYScgPD0gc1tsZW5dICYmIHNbbGVuXSA8PSAneicpIHsKICAgICAgICAgICAgc1tsZW5dID0gc1tsZW5dIC0gMzI7CiAgICAgICAgfQogICAgICAgIGxlbisrOwogICAgfQoKICAgIC8vIOWFiOmgreOBqOacq+WwvuOBi+OCieavlOi8gwogICAgZm9yIChpID0gMDsgaSA8IGxlbiAvIDI7IGkrKykgewogICAgICAgIGlmIChzW2ldICE9IHNbbGVuIC0gMSAtIGldKSB7CiAgICAgICAgICAgIHJldHVybiAwOyAvLyDlm57mlofjgafjga/jgarjgYQKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDE7IC8vIOWbnuaWh+OBp+OBguOCiwp9CgovLyDjg6HjgqTjg7PplqLmlbDjga/jgZ3jga7jgb7jgb7jgadPSwppbnQgbWFpbigpIHsKICAgIGNoYXIgc1sxMDBdOwogICAgc2NhbmYoIiVzIiwgcyk7CiAgICBwcmludGYoIiVzIC0+ICVkXG4iLCBzLCBpc1BhbGluZHJvbWUocykpOwogICAgcmV0dXJuIDA7Cn0K