回文算法的问题
亲 帮忙解决一下下面的代码
#include "stdafx.h"
char array[1024];
int t_huiwen(int a,int count)
{
if(a==count / 2)
{
return 1;
}
else
if( array[a] == array[count-a-1])
return (t_huiwen(a-1,count))&&1;
else
{
return 0;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int count;
int i;
for(i=0;i<1024;i++)
{
scanf_s("%c",&array[i]);
if( array[i] == '\n' )
}
count=i;
i--;
printf("%d",t_huiwen( i, count));
return 0;
}
[解决办法]
int a 是什么?
回文代表的数字?
[解决办法]
我写了一个
比较容易懂,你看看
#include <stdio.h>
#include <string.h>
#define MAX 50
int main(void)
{
int i,j;
char a[MAX];
printf("请输入字符串:\n");
gets(a);
for(i=0,j=strlen(a)-1;i<j;i++,j--)
{
if(a[i]!=a[j])
{
printf("你输入的不是回文!\n");
break;
}
else
if(j-i==1
[解决办法]
j-i==2)
printf("你输入的是回文!\n");
}
return 0;
}
[解决办法]
......
if( array[i] == '\n' )
{array[i] ='\0';break;} //<<<添加此行
.....