c语言判断输入的字符串是否为回文串,如果是输出yes,如果不是输出no。
时间: 2024-03-25 09:38:04 浏览: 91
可以使用双指针来判断一个字符串是否为回文串。具体做法如下:
1. 定义两个指针i和j,分别指向字符串的起始位置和末尾位置。
2. 循环比较i和j指向的字符是否相等,如果不相等,说明该字符串不是回文串,输出no。
3. 如果相等,将i指针往右移动一位,j指针往左移动一位,继续进行比较。
4. 当i和j指针相遇时,说明该字符串是回文串,输出yes。
下面是C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, j, len;
printf("请输入一个字符串:");
gets(str); // 输入字符串
len = strlen(str);
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
printf("no\n");
return 0;
}
}
printf("yes\n");
return 0;
}
```
需要注意的是,上面的代码使用了gets函数来获取输入的字符串,但是gets函数存在安全隐患,应该尽量避免使用。可以使用fgets函数替代,具体用法可以参考C语言的相关教材。
相关问题
基于C语言,判断字符串是否为回文?若是则输出YES,否则输出NO。回文是指顺读和倒读都一样的字符串。
好的,下面是基于C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
len = strlen(str) - 1; // 去除字符串末尾的换行符
for (i = 0; i < len/2; i++) {
if (str[i] != str[len-i-1]) {
flag = 1;
break;
}
}
if (flag == 1) {
printf("NO\n");
} else {
printf("YES\n");
}
return 0;
}
```
这个程序首先使用 `fgets` 函数从标准输入读取一个字符串,然后计算该字符串的长度 `len`,接着使用一个 for 循环遍历前半部分字符,判断对应位置的字符是否与后半部分对称位置的字符相等,如果不相等,就将 `flag` 置为 1,表示不是回文字符串。最后根据 `flag` 的值输出 YES 或 NO。
请用C语言编写程序,从键盘读取一串字符串,判断该字符串是否是回文串,如果是输出Yes,不是输出No 输入样例1: abcde 输出样例1: No 输入样例2: abcba 输出样例2: Yes
为了判断一个字符串是否是回文串,你可以使用C语言编写以下程序。这里我们首先从键盘读取用户输入,然后反转字符串并与原字符串比较。如果两者相等,则它是回文串;否则,它不是。
```c
#include <stdio.h>
#include <string.h>
// 函数声明,用于反转字符串
void reverse(char *str);
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 从键盘读取字符串,包括换行符
// 去除末尾的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
// 判断是否是回文串
reverse(input);
if (strcmp(input, input) == 0) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
// 反转字符串函数
void reverse(char *str) {
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
```
在这个程序中,`reverse()`函数通过两个指针,一个指向字符串开始,另一个指向结束,交换它们指向的字符并逐步向中间移动,直到两者相遇,完成字符串的反转。
阅读全文
相关推荐













