Advertisement

C语言-判断输入字符串是否为回文串

阅读量:

C语言-判断输入字符串是否为回文串

通过定义一个s字符数组,gets函数控制输入

i、j双指针来回判断字符数组的位置,和对应位置的值的比较,

while循环的条件 i<=j&&s[i]==s[j]

最终判断i、j的关系,如果i<=j说明存在对应位置不等的情况就是不是回文串

复制代码
 #include <stdio.h>

    
 #include <string.h>
    
 #define N 100
    
 int main()
    
 {   char s[N];
    
     int i=0,j;
    
     printf("Input a String: \n");
    
     //输入一个字符串赋值给s
    
     gets(s);
    
     //j的初始值为s字符串最后一个位置
    
     j=strlen(s)-1;
    
     //进行while判断i、j的位置和i、j位置的值的关系
    
     while(i<=j&&s[i]==s[j]){
    
     //每比较一次就i右移、j左移一位
    
     i++;j--;
    
     }
    
     //判断最终i和j的的位置
    
     //根据i、j的位置最终是会互相超越的,所以如果i<=j说明存在对应位置不等的情况就是不是回文串
    
     if (i<=j)
    
     {printf("不是回文字符串\n");}
    
     else{ printf("是回文字符串\n");}
    
     return 0;
    
 }
    
  
    
    
    
    
    AI写代码cpp
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/YVTn1hvIXqUANE3bi0PGS2rMtm7C.png)

运行代码,先编译

编译通过,再运行分别输入zhang(不是回文串) zhanggnahz (是回文串)

全部评论 (0)

还没有任何评论哟~