题目描述C语言每日一练
2021年10月26日
判断回文字符串
分析“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。——百度百科
判断一个字符串是否回文,最简单的方法就是判断字符串第一个元素和最后一个元素是否相等,第二个元素与倒数第二个元素是否相等……一直判断到字符串最中间位置,如果都相等,则是回文字符串。
另外也可以先将字符串反转,然后用strcmp比较两个字符串是否相等。
#include#include #define MAX_LENGTH 30 //字符串最大长度 //函数声明 int Is_Palindromic_String(char *str); int main() { char str[MAX_LENGTH]; printf("请输入一个字符串n"); scanf("%s", str); if(Is_Palindromic_String(str) == 1) printf("这是一个回文字符串n"); else printf("这不是一个回文字符串n"); return 0; } int Is_Palindromic_String(char *str) { if(str == NULL) return 0; int len = strlen(str); int i = 0; for(i = 0; i < len / 2; i++) { if(str[i] != str[len - i -1]) return 0; } return 1; }
运行结果 网上参考
原文链接:http://c.biancheng.net/cpp/html/2811.html
#include#include #include void main(){ char s[100]; // 存放输入的字符串 int i, j, n; printf("输入字符串:"); gets(s); n=strlen(s); for(i=0,j=n-1;i =j) printf("是回文串n"); else printf("不是回文串n"); }



