oj回文串题目c语言答案
时间: 2024-10-22 16:16:06 浏览: 17
在 C 语言中解决 "OJ回文串" 题目通常是指判断一个字符串是否是回文,即正读反读都一样的字符串。这里提供一个简单的解决方案:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
int isPalindrome(char str[], int start, int end);
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 注意fgets处理换行符
input[strcspn(input, "\n")] = '\0'; // 去除输入字符串尾部的换行符
if (isPalindrome(input, 0, strlen(input) - 1)) {
printf("%s 是一个回文串。\n", input);
} else {
printf("%s 不是一个回文串。\n", input);
}
return 0;
}
// 判断是否为回文的辅助函数
int isPalindrome(char str[], int start, int end) {
while (start < end) { // 只需比较一半的字符
if (str[start] != str[end]) {
return 0; // 如果任意一对对应位置的字符不相等,返回非回文
}
start++;
end--;
}
return 1; // 所有字符都匹配,返回回文
}
```
阅读全文