从键盘上输入一个字符串,并判断是否形成回文(即正序和逆序一样, 如“abcd dcba” )。
时间: 2023-06-03 12:07:30 浏览: 58
您好! 感谢您的提问。关于您的问题,我们可以通过以下代码实现判断输入的字符串是否为回文:
```
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
printf("请输入一个字符串:\n");
fgets(str, MAX_LENGTH, stdin); //从键盘读入字符串
int len = strlen(str) - 1; //去除末尾的换行符
int i, flag = 1;
for(i = 0; i < len / 2; i++) {
if(str[i] != str[len - i - 1]) { //判断是否为回文
flag = 0;
break;
}
}
if(flag) {
printf("是回文!\n");
}
else {
printf("不是回文!\n");
}
return 0;
}
```
希望我的回答能够解决您的问题!
相关问题
从键盘输入一个字符串,判断是否形成回文,即正序和逆序一样,如abcddcba。
可以使用双指针法,从字符串的两端开始向中间扫描,判断对应位置的字符是否相同。如果相同,则继续向中间扫描;如果不同,则说明不是回文字符串。
具体实现可以参考以下代码:
```python
s = input() # 从键盘输入一个字符串
left, right = , len(s) - 1 # 初始化左右指针
while left < right:
if s[left] != s[right]: # 如果对应位置的字符不同
print("不是回文字符串")
break
left += 1 # 左指针向右移动
right -= 1 # 右指针向左移动
else:
print("是回文字符串")
```
注意,这里使用了 `else` 语句,它会在循环正常结束(即没有被 `break` 中断)时执行,因此可以在循环结束后判断是否是回文字符串。
用C语言编写一个程序,即从键盘上输入一个字符串,并判断是否形成回文(即正序和逆序一样, 如“abcd dcba”
以下是一个用C语言编写的判断回文的程序:
```
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main()
{
char str[MAX_LEN];
int len, i, 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("是回文字符串。\n");
} else {
printf("不是回文字符串。\n");
}
return 0;
}
```
这个程序首先从键盘上读入一个字符串,然后通过遍历字符串的前一半字符和后一半字符,判断是否相等,如果都相等,则说明是回文字符串,否则不是回文字符串。