回文是指正着读和倒着读都相同的字符串,比如"level"、"radar"等。在C语言中,我们可以使用数组来处理回文问题。
下面是一个示例程序,通过数组处理回文问题:
#include#include int isPalindrome(char str[]) { int len = strlen(str); int i, j; for (i = 0, j = len - 1; i < j; i++, j--) { if (str[i] != str[j]) { return 0; } } return 1; } int main() { char str[100]; printf("Enter a string: "); scanf("%s", str); if (isPalindrome(str)) { printf("%s is a palindrome\n", str); } else { printf("%s is not a palindrome\n", str); } return 0; }
在该程序中,我们定义了一个函数isPalindrome
来判断给定的字符串是否是回文。函数首先获取字符串的长度,然后使用两个指针i
和j
分别指向字符串的开头和结尾,逐步向中间移动,判断对应位置的字符是否相同,如果有不同的字符则返回0,表示不是回文;如果所有字符都相同,则返回1,表示是回文。
在main
函数中,我们首先输入一个字符串,然后调用isPalindrome
函数来判断该字符串是否是回文,最后根据函数的返回值输出结果。
你可以在自己的电脑上编译并运行这个程序,输入不同的字符串来测试回文判断的功能。