c语言 求看代码 关于求1-50000的回文数
#include<stdio.h>intmain(){inti,j,k,t,a[5],n=0;for(i=11;i<=49994;i++){for(j=0;t>0;j++...
#include<stdio.h>
int main(){
int i,j,k,t,a[5],n=0;
for(i=11;i<=49994;i++)
{
for(j=0;t>0;j++)
{
t=i;
a[j]=t%10;
t=t/10;
}
for(k=0;k<=j/2;k++) {
if(a[k]!=a[j-k-1]) break;
if(k=j/2)
{
printf("ni");
printf("%10d",i);
n++;
if(n%5==0)
printf("\n");
}
}
}
return 0;
} 展开
int main(){
int i,j,k,t,a[5],n=0;
for(i=11;i<=49994;i++)
{
for(j=0;t>0;j++)
{
t=i;
a[j]=t%10;
t=t/10;
}
for(k=0;k<=j/2;k++) {
if(a[k]!=a[j-k-1]) break;
if(k=j/2)
{
printf("ni");
printf("%10d",i);
n++;
if(n%5==0)
printf("\n");
}
}
}
return 0;
} 展开
1个回答
展开全部
t没赋初值
代码我该了下,看看..
int main(){
int i=0,j=0,k=0,t=0,a[5],n=0;
int count=0;
for(i=11;i<=49994;i++)
{
n=i;
for(;n>0;j++)
{
a[j]=n%10;
n=n/10;
}
for(k=0;k<=j/2;k++) {
if(a[k]!=a[j-k-1])
{
t=1;
break;
}
}
if(t==0) {
count++;
printf("%d is %d ok -",i,j);
}
t=0;j=0;
}
printf("\nCount is %d\n",count);
return 0;
}
代码我该了下,看看..
int main(){
int i=0,j=0,k=0,t=0,a[5],n=0;
int count=0;
for(i=11;i<=49994;i++)
{
n=i;
for(;n>0;j++)
{
a[j]=n%10;
n=n/10;
}
for(k=0;k<=j/2;k++) {
if(a[k]!=a[j-k-1])
{
t=1;
break;
}
}
if(t==0) {
count++;
printf("%d is %d ok -",i,j);
}
t=0;j=0;
}
printf("\nCount is %d\n",count);
return 0;
}
追问
根据你改的地方我也改了一下我的,运行结果是对的,不过我不明白为什么要根据t的值来判断,还有最后为什么要把0赋值给t和j...我比较菜一点,麻烦您耐心解答一下,不胜感激!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询