以下程序中,函数fun的功能是判断一串字符是否为”回文”,若是返回1,否则返回0?

以下程序中,函数fun的功能是判断一串字符是否为”回文”,若是返回1,否则返回0。所谓”回文”,是指顺读和倒读都一样的字符串。如果”ABCBA”和”xyzzyx”都是”回文”。
需要完善的源程序如下:
#include “stdio.h”
#include “string.h”
int fun(char *s)
{ int i, j, m, t=0;
m=strlen(s);

程序段

 return 1;  
 else  return 0

}
void main()
{ int a; char str[80];
printf(“Enter a string:”);
scanf(“%s”,str);
a=fun(str);
if(a==1) printf(“YES”);
else printf(“NO”);
}

一个实现:

#include "stdio.h"
#include "string.h"
int fun(char *s)
{ 
    int i, j, m, t=0;
    m=strlen(s);
    
    for(i=0,j=m-1;i<j;i++,j--){ //让i和j分别指向字符串前后对称位置,然后逐渐靠近,直到比较完所有对称位置 
        
        if(s[i]!=s[j]){ //如果字符串前后对称位置的字符不相等则不是回文数 
            t=1;
        }
    }

    if(t==0)
         return 1;  
    else  
         return 0;
}
int main()
{ 
    int a; char str[80];
    printf("Enter a string:");
    scanf("%s",str);
    a=fun(str);
    if(a==1) printf("YES");
    else printf("NO");
}

你好,望采纳!

#include “stdio.h”
#include “string.h”
int fun(char *s)
{ int i, j, m, t=0;
    m=strlen(s);
  if(m==1)  
    return 1;  
   else  
     return 0;
 }

int strlen(char *length)
{ 
   if(length > 0)
    {
        nums= length / 2;
        for( A =0 ;A < nums;A++)
        {
            if(Str[A] == Str[length-1-A])
            {
                IsTrue=1;
            }else
            {
                IsTrue=0;
            }
        }
    }
 return IsTrue;
 }

 void main()
{ int a; char str[80];
printf(“Enter a string:”);
scanf(“%s”,str);
a=fun(str);
if(a==1) printf(“YES”);
else printf(“NO”);
}

for (i = 0, j = m - 1; i < j; i++, j--)
if (s[i] != s[j])
break;
if (i >= j)
return 1;
else
return 0;