C语言判断一个字符串是不是回文字符串
时间: 2024-06-14 21:03:20 浏览: 112
以下是两种C语言判断一个字符串是否为回文字符串的方法:
方法一:
```c
#include <stdio.h>
#include <string.h>
int judge();
int main() {
int i;
i = judge();
if (i == 1) {
printf("该字符串是回文。\n");
} else if (i == 0) {
printf("该字符串不是回文。\n");
}
}
int judge() {
char a[50];
int length;
int i;
gets_s(a);
length = strlen(a);
for (i = 0; i < length/2; i++) {
if (a[i] != a[length - i - 1]) {
return 0;
} else {
return 1;
}
}
}
```
方法二:
```c
#include <stdio.h>
#include <string.h>
#define N 100
int main() {
char s[N];
int i=0,j;
printf("Input a String: \n");
//输入一个字符串赋值给s
gets(s);
//j的初始值为s字符串最后一个位置
j=strlen(s)-1;
//进行while判断i、j的位置和i、j位置的值的关系
while(i<=j&&s[i]==s[j]){
//每比较一次就i右移、j左移一位
i++;
j--;
}
//判断最终i和j的的位置
//根据i、j的位置最终是会互相超越的,所以如果i<=j说明存在对应位置不等的情况就是不是回文串
if (i<=j) {
printf("不是回文字符串\n");
} else{
printf("是回文字符串\n");
}
return 0;
}
```
阅读全文