关于#c语言#的问题:判断输入的字符串是否“回文”(即顺读和倒读都一样)是输出yes

判断输入的字符串是否“回文”(即顺读和倒读都一样)是输出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;
}
 

可以了,记得采纳一下哦!

img



#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;
}