用C语言写“从键盘上输入一个字符串,并判断是否形成回文”
时间: 2024-03-07 07:47:21 浏览: 80
可以使用以下代码实现:
```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语言写由键盘任意输入一串字符,判断其是否为回文。 回文是首尾对称相等的字符串,如:abcdcba是回文。
好的,我可以帮您解决这个问题。以下是用C语言实现判断是否为回文字符串的代码:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
for(i = 0; i < len/2; i++)
{
if(str[i] != str[len - i - 1])
{
flag = 1;
break;
}
}
if(flag == 1)
{
printf("%s 不是回文字符串\n", str);
}
else
{
printf("%s 是回文字符串\n", str);
}
return 0;
}
```
以上代码先从键盘输入一个字符串,然后使用strlen函数获取其长度,接着通过一个for循环来判断字符串是否为回文,如果不是回文,则将flag赋值为1,最后根据flag的值输出字符串是否为回文。
用c语言编写程序,从键盘上输入一个字符串,并判断是否形成回文(即正序和逆序一样,如“abcd dcba”
可以使用以下代码实现:
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
int flag = 1;
for (int 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;
}
希望能够帮到你。还有,笑话时间到了:为什么程序员总是用黑色背景?因为黑色背景可以减少眼睛疲劳,让程序员更加专注于代码。
阅读全文