判断输入的字符串是否“回文”(即顺读和倒读都一样)是输出yes,否输出no。的程序怎么写
思路有很多,这里通过反转字符串,然后比较原字符串和反转字符串是否一样来实现
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{ int flag=0;
int j,k;
char a[100],b[100];
gets(a);
int i;
i=strlen(a);
k=i;
for(j=0;j<i;j++)
{b[j]=a[--k];
}
if(strcmp(a,b)!=0)
{
flag=1;
}
if(flag==0)
{
printf("yes");}
if(flag==1)
{
printf("no");}
return 0;
}
可以了,记得采纳一下哦!
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str); // 获取字符串长度
int mid = len / 2; // 计算中间位置
int i;
for (i = 0; i < mid; i++) {
if (str[i] != str[len - i - 1]) { // 判断对应字符是否相等
break;
}
}
if (i == mid) { // 如果所有对应字符都相等,则是回文字符串
printf("yes\n");
} else { // 否则不是回文字符串
printf("no\n");
}
return 0;
}