回文测试:输入一30个字符以内的字符串,判断是否为回文;如果是,则打印"true";否则打印"false"。像"aba"这样的从左往右读与从右往左读一致就是回文。
时间: 2025-01-01 18:38:42 浏览: 6
回文测试是一种简单的字符串操作,用于检查给定的字符串是否从前往后读和从后往前读是一样的,也就是正着读和反着读都相同。以下是一个使用C语言编写的简单程序,实现了这个功能:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; ++i) {
if (str[i] != str[len - 1 - i]) {
return 0; // 不是回文,返回0
}
}
return 1; // 是回文,返回1
}
int main() {
char input[31]; // 假设最多30个字符,包括结束符'\0'
printf("请输入一个字符串(不超过30个字符):");
fgets(input, sizeof(input), stdin); // 从标准输入获取字符串
input[strcspn(input, "\n")] = '\0'; // 移除fgets读取到的换行符
if (isPalindrome(input)) {
printf("true\n");
} else {
printf("false\n");
}
return 0;
}
```
在这个程序中,`isPalindrome` 函数遍历字符串的一半,如果发现有任何字符不匹配,则立即返回0表示不是回文。如果整个循环都没有找到不匹配的字符,那么就是回文,返回1。在`main`函数中,我们获取用户的输入并调用 `isPalindrome` 来判断。
阅读全文