逆順回文
#include <stdio.h>
#include <string.h>
char *strrev(char *str);
int isPalindrome(char *str);
int main(void)
{
char str1[] = "abcdefg";
char str2[] = "hijkjih";
printf("%s\n", str1);
strrev(str1);
printf("%s\n\n", str1);
printf("%sは%s\n", str1,
isPalindrome(str1)?"回文である":"回文でない");
printf("%sは%s\n", str2,
isPalindrome(str2)?"回文である":"回文でない");
return 0;
}
char *strrev(char *str)
{
int i, len = strlen(str);
char tmp;
for (i = 0;i < len/2;i++) {
tmp = str[i];
str[i] = str[len-1-i];
str[len-1-i] = tmp;
}
return str;
}
int isPalindrome(char *str)
{
int i, len = strlen(str);
for (i = 0;i < len/2;i++)
if (str[i] != str[len-1-i])
return 0;
return 1;
}
回文って、英語でpalindromeって言うんだね。知らなかった。