每日一题——第九十二题
// JudgePalindromicString.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。
//
题目:判断控制台输入的一串字符串是否为回文字符串
#include<stdio.h>
#include<stdbool.h>
#include<string.h>
bool isPalindromicString(const char* str);
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 使用fgets代替scanf,避免缓冲区溢出
str[strcspn(str, "\n")] = 0;//去除字符串末尾的换行符
if (isPalindromicString(str)) {
printf("字符串 '%s' 是回文字符串\n", str);
}
else {
printf("字符串 '%s' 不是回文字符串\n", str);
}
return 0;
}
bool isPalindromicString(const char* str) {
int low = 0;
int high = strlen(str) - 1;
while (low < high) {
if (str[low] != str[high]) {
return false;
}
low++;
high--;
}
return true;//对比循环结束,均相等,则返回true
}