2. 判断字符数组是否为回文 规则:编写程序判断一个字符数组表示的字符串是否是回文串(正读和反读都一样),如"level"是回文串,输出结果。用c语言解答
时间: 2024-12-24 15:38:01 浏览: 4
python简单算法04:判断一个字符串是否为回文串的排列之一
在C语言中,你可以使用双指针技术来判断一个字符数组是否为回文串。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int i = 0; // 左指针
int j = strlen(str) - 1; // 右指针
// 比较左指针和右指针所指向的字符直到相遇或其中一个指针越界
while (i < j) {
if (str[i] != str[j]) {
return 0; // 如果不相等,则不是回文串,返回0
}
i++; // 左指针向右移动
j--; // 右指针向左移动
}
return 1; // 所有字符比较完毕都是相等的,说明是回文串,返回1
}
int main() {
char str[] = "level";
if (isPalindrome(str)) {
printf("%s is a palindrome.\n", str);
} else {
printf("%s is not a palindrome.\n", str);
}
return 0;
}
```
这个程序通过比较字符串首尾字符,然后逐步向中间移动,如果在整个过程中发现有任何不匹配的字符,就立即返回`false`,反之则返回`true`。
阅读全文