C语言简单的改错题。

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:02:51
#include "string.h"
hui(char *a)
{
int i,k,j=0;
for(i=0;i<15;i++) if(a[i]!='\0') j++;
if(j%2==0) return 0;
for(i=0,k=j;i<=(j-1)/2;i++,k--)
{
if(a[i]!=a[k]) return 0;
}
return 1;
}

main()
{
int x=0;
char a[15];
gets(a);
x=hui(a);
printf("a[15]=%d\n",x);
}

这个程序判断是不是回文,是回文反回1,否则反回0.
回文是顺读和倒读都一样.谢谢

#include "string.h"
int hui(char *a)
{
int i,k,j=0;
for(i=0;i<15;i++)
{
if(a[i]!='\0')j++;
else break;
}
if(j%2==0) return 0;

for(i=0,k=j-1;i<=(j-1)/2;i++,k--)
{
if(a[i]!=a[k]) return 0;
}
return 1;
}

main()
{
int x=0;
char a[15];
gets(a);
x=hui(a);
printf("a[15]=%d\n",x);
}
改好了。谢谢!

#include "string.h"
hui(char *a)
{
int i,k,j=0;
for(i=0;i<15;i++)
if(a[i]!=0) j++;else break;/*如果遇到0了,j就是字符数*/
for(i=0,k=j-1;i<=j/2;i++,k--) /*j是字符个数,k要从j-1开始嘛.*/
{
if(a[i]!=a[k]) return 0;
}
return 1;
}

main()
{
int x;
char a[15];
gets(a);
puts(a);
x=hui(a);