判断回文字符串C语言
时间: 2023-12-13 14:04:39 浏览: 117
回文判断_C语言_
5星 · 资源好评率100%
以下是两种判断回文字符串的C语言代码:
1.使用数组实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 0;
printf("Enter a string: ");
scanf("%s", str);
len = strlen(str);
for(i=0;i<len;i++)
{
if(str[i]!=str[len-i-1])
{
flag = 1;
break;
}
}
if(flag)
{
printf("%s is not a palindrome\n", str);
}
else
{
printf("%s is a palindrome\n", str);
}
return 0;
}
```
2.使用指针实现:
```c
#include <stdio.h>
#include <string.h>
bool palindrome(char *s)
{
int i = 0, ret;
while(*(s + i) != '\0')
{
i++;
}
i--;
int k = 0;
while(i > k)
{
if(s[i] != s[k])
{
break;
}
i--;
k++;
}
if(i <= k)
{
ret = 1;
}
else
{
ret = 0;
}
return ret;
}
int main()
{
char str[100];
printf("Enter a string: ");
scanf("%s", str);
if(palindrome(str))
{
printf("%s is a palindrome\n", str);
}
else
{
printf("%s is not a palindrome\n", str);
}
return 0;
}
```
阅读全文