用C语言写 回文串判断:从键盘输入一句话(不超过100个字符),并判断该句话是否为回文。
时间: 2023-11-27 08:51:30 浏览: 56
以下是用C语言写的回文串判断程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[101];
int len, i, j, flag = 1;
printf("请输入一句话(不超过100个字符):");
gets(str); // 读取一行字符串
len = strlen(str); // 计算字符串长度
// 判断是否为回文串
for (i = 0, j = len - 1; i < len / 2; i++, j--)
{
if (str[i] != str[j])
{
flag = 0;
break;
}
}
if (flag)
printf("是回文串。\n");
else
printf("不是回文串。\n");
return 0;
}
```
程序先读取一行字符串,然后计算字符串长度,接着从字符串的两端向中间扫描,如果发现有不同的字符就说明它不是回文串。最后根据标记变量flag的值输出结果。
相关问题
用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;
}
```
首先定义一个字符数组 `str` 存放输入的字符串,然后使用 `scanf` 函数从键盘上输入字符串。使用 `strlen` 函数获取字符串的长度,然后使用循环遍历字符串的前半部分和后半部分,比较是否相等。如果相等,继续循环;如果不相等,将标志变量 `flag` 置为 0,并退出循环。最后根据标志变量 `flag` 的值输出结果,判断字符串是否是回文字符串。
输入一个字符串判断该字符串是否为回文用c语言写
以下是用C语言实现判断一个字符串是否为回文字符串的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j, len, flag = 1;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
for (i = 0, j = len - 1; i < len / 2; i++, j--)
{
if (str[i] != str[j])
{
flag = 0;
break;
}
}
if (flag)
{
printf("yes\n");
}
else
{
printf("no\n");
}
return 0;
}
```