逆順回文
#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って言うんだね。知らなかった。