c语言 输入一个字符串,判断其是否为会回文。
时间: 2023-12-28 11:04:02 浏览: 23
好的,您的问题是如何使用 C 语言判断一个字符串是否为回文。
请看下面的代码示例:
```
#include <stdio.h>
#include <string.h>
int main(void) {
char string[100];
int i, length;
int flag = 0;
printf("请输入一个字符串:");
scanf("%s", string);
length = strlen(string);
for (i = 0; i < length; i++) {
if (string[i] != string[length - i - 1]) {
flag = 1;
break;
}
}
if (flag) {
printf("%s 不是回文\n", string);
}
else {
printf("%s 是回文\n", string);
}
return 0;
}
```
这段代码首先让用户输入一个字符串,然后计算字符串的长度。接下来使用 for 循环将字符串的第一个字符与最后一个字符进行比较,如果不相等,则字符串不是回文。最后根据标志位 flag 的值输出判断结果。
相关问题
C语言输入一个字符串判断是否为回文数的代码
以下是一个基于C语言的判断回文数的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串: ");
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 不是回文数", str);
}
else
{
printf("%s 是回文数", str);
}
return 0;
}
```
该程序中,我们先输入一个字符串,并计算字符串的长度。然后,我们使用for循环来遍历字符串中的每个字符,判断它们是否与字符串对应的反向字符相等。如果它们不相等,则将flag标志设置为1,程序输出该字符串不是回文数;否则,程序输出该字符串是回文数。
c语言输入一个字符串,利用指针判断其是否为回文
下面是一个利用指针判断字符串是否为回文的示例代码:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
char *left = str; // 左指针指向字符串首字符
char *right = str + strlen(str) - 1; // 右指针指向字符串尾字符
while (left < right) {
if (*left != *right) {
return 0; // 不是回文
}
left++; // 左指针右移
right--; // 右指针左移
}
return 1; // 是回文
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s 是回文。\n", str);
} else {
printf("%s 不是回文。\n", str);
}
return 0;
}
```
这个程序通过指针的方式从字符串首尾开始比较字符,如果发现有不同的字符则不是回文,否则就是回文。