c语言找出1-256的回文数,求找错,急急急!!! 5
#include<stdio.h>main(){longi,t,a[13],n,y=0,find=1;for(i=1;i<=256;i++){t=i*i;for(n=0;...
#include<stdio.h>
main()
{
long i,t,a[13],n,y=0,find=1;
for(i=1;i<=256;i++)
{
t=i*i;
for(n=0;t!=0;n++)
{
a[n]=t%10;
t=t/10;
y++;
}
for(n=0;n<(y+1)/2;n++)
if(a[n]!=a[y-n-1])
{
find=0;
break;
}
if(find==1)
{ printf("%ld",i);
printf(" ");
}
}
printf("是回文数");
getch();
} 展开
main()
{
long i,t,a[13],n,y=0,find=1;
for(i=1;i<=256;i++)
{
t=i*i;
for(n=0;t!=0;n++)
{
a[n]=t%10;
t=t/10;
y++;
}
for(n=0;n<(y+1)/2;n++)
if(a[n]!=a[y-n-1])
{
find=0;
break;
}
if(find==1)
{ printf("%ld",i);
printf(" ");
}
}
printf("是回文数");
getch();
} 展开
4个回答
2012-11-29
展开全部
#include<stdio.h>
void main()
{
long i;
for(i=1;i<=256;i++)
{
long t,a[13],n,y=0,find=1;
t=i*i;
for(n=0;t!=0;n++)
{
a[n]=t%10;
t=t/10;
y++;
}
for(n=0;n<(y+1)/2;n++)
{
if(a[n]!=a[y-n-1])
{
find=0;
break;
}
}
if(find==1)
{
printf("%ld",i);
printf(" ");
}
}
printf("是回文数");
getchar();
}
原因:
y++;
这句,最外层循环时未将数据初始化,造成出界
void main()
{
long i;
for(i=1;i<=256;i++)
{
long t,a[13],n,y=0,find=1;
t=i*i;
for(n=0;t!=0;n++)
{
a[n]=t%10;
t=t/10;
y++;
}
for(n=0;n<(y+1)/2;n++)
{
if(a[n]!=a[y-n-1])
{
find=0;
break;
}
}
if(find==1)
{
printf("%ld",i);
printf(" ");
}
}
printf("是回文数");
getchar();
}
原因:
y++;
这句,最外层循环时未将数据初始化,造成出界
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询