c语言判断是否为回文串
时间: 2023-08-26 15:05:17 浏览: 73
判断一个字符串是否为回文串可以使用双指针的方法,具体实现如下:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, i, j, flag;
printf("Enter a string: ");
scanf("%s", str);
len = strlen(str);
flag = 1;
for (i = 0, j = len - 1; i < j; i++, j--)
{
if (str[i] != str[j])
{
flag = 0;
break;
}
}
if (flag)
printf("%s is a palindrome\n", str);
else
printf("%s is not a palindrome\n", str);
return 0;
}
```
该程序先读入一个字符串,然后使用双指针分别从字符串的开头和结尾向中间移动,如果指向的字符不相同,则不是回文串。最后判断标志位来输出结果。
相关问题
c语言判断是否为回文
在C语言中,判断一个字符串是否是回文(即正读反读都一样)的一种常见方法是通过比较字符串的前半部分与它的后半部分。这里是一个简单的函数示例:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int len = strlen(str);
if (len <= 1) { // 如果字符串长度为0或1,它是回文的
return 1;
}
// 比较首尾字符是否相等,然后向中间移动
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - 1 - i]) {
return 0; // 字符不匹配,不是回文
}
}
return 1; // 所有字符匹配,是回文
}
int main() {
char test[] = "madam";
if (isPalindrome(test)) {
printf("%s is a palindrome.\n", test);
} else {
printf("%s is not a palindrome.\n", test);
}
return 0;
}
```
用c语言判断是否为回文符
可以使用C语言编写一个函数来判断一个字符串是否为回文字符串。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0; // 不是回文字符串
}
}
return 1; // 是回文字符串
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("是回文字符串\n");
} else {
printf("不是回文字符串\n");
}
return 0;
}
```
这个函数的基本思路是比较字符串的前半部分和后半部分是否相同。如果相同就是回文字符串,否则不是。
阅读全文