C语言输入一个字符串,判断是否是回文。
时间: 2024-10-09 12:01:22 浏览: 38
在C语言中,判断一个字符串是否是回文,通常需要比较字符串的第一个字符和最后一个字符,然后依次向中间移动,直到所有对应位置的字符都匹配为止。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
if (str[i] != str[length - 1 - i]) {
return 0; // 如果发现不匹配,则不是回文
}
}
return 1; // 所有字符都匹配,是回文
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 使用fgets防止换行符影响结果
input[strcspn(input, "\n")] = '\0'; // 移除fgets读取的换行符
if (isPalindrome(input)) {
printf("%s 是回文\n", input);
} else {
printf("%s 不是回文\n", input);
}
return 0;
}
```
相关问题
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 语言的代码,可以输入一个字符串并判断是否是回文:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, len, flag = 1;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
flag = 0;
break;
}
}
if (flag) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
这个程序首先输入一个字符串,然后计算字符串的长度。接下来,它使用一个循环来检查字符串是否是回文。循环从字符串的两端开始,每次比较两个字符是否相等。如果有任何一个字符不相等,那么字符串就不是回文。如果循环结束后所有字符都相等,那么字符串就是回文。
阅读全文