0044 编写一个程序,输入一串字符串,以回车结束,判断该字符串是否是回文串,如“abcddcba”是回文串,即正读反读相同的串

问题描述:

  编写一个程序,输入一串字符串,以回车结束,判断该字符串是否是回文串,如“abcddcba”是回文串,即正读反读相同的串

代码展示:

 1 #include<stdio.h>
 2 #include<string.h>
 3 int isHuiWen(char str[], int n);
 4 int main(){
 5     char str[100];
 6     int len,result;
 7     printf("请输入字符串:");
 8     scanf("%s",&str);
 9     len = strlen(str);
10     result = isHuiWen(str,len);
11     if(result == 1){
12         printf("该字符串是回文序列"); 
13     }else{
14         printf("该字符串不是回文序列");
15     }
16     return 0;
17 }
18 int isHuiWen(char str[], int n){
19     int result;
20     int i=0,j=n-1;
21     
22     while((str[i]==str[j]) && (i<=n/2) && (j>=n/2)){
23         i++;j--;
24     }
25     if((i-2) == j || (i-1)== j){    //奇数个字符和偶数个字符的两种情况 
26         return 1;
27     }else{
28         return 0;
29     }
30 }

运行截图:

 

 

 

posted @ 2021-12-02 11:04  空梦。  阅读(247)  评论(0)    收藏  举报