这程序对吗?运行后怎么是黑屏?
一个5位数,如12321是回文数,个位与万位相同,十位与千位相同找出所有的回文数?
main()
{
int i,j,k,m,n;
for(i=1;i<=9;i++)
{for(j=0;j<=9;j++)
{for(k=0;k<=9;k++)
{for(m=0;m<=9;m++)
{for(n=1;n<=9;n++)
if(i==n&&j==m)
printf(" %f",10000*i+1000*j+100*k+10*m+n);
}
}
}
}
while(1);
}
原本这题是检验一个数是不是回文数,我自己改了一下,想输出所有的回文数,但觉得这样的回文数太多。此程序运行后,出现黑屏,不显示。
是不因为数字太多,而不显示了呢?赐教!
搜索更多相关的解决方案:
运行
----------------解决方案--------------------------------------------------------
以下是引用science在2006-11-27 11:53:28的发言:
一个5位数,如12321是回文数,个位与万位相同,十位与千位相同
找出所有的回文数?
main()
{
int i,j,k,m,n; /*int不够用,改为long*/
for(i=1;i<=9;i++)
{for(j=0;j<=9;j++)
{for(k=0;k<=9;k++)
{for(m=0;m<=9;m++)
{for(n=1;n<=9;n++)
if(i==n&&j==m)
printf(" %f",10000*i+1000*j+100*k+10*m+n); /*不是%f,改为%ld*/
}
}
}
}
while(1); /*不建议用上这一句*/
}
原本这题是检验一个数是不是回文数,我自己改了一下,想输出所有的回文数,但觉得这样的回文数太多。此程序运行后,出现黑屏,不显示。
是不因为数字太多,而不显示了呢?赐教!
改完后:
int main()
{
long i,j,k,m,n;
for(i=1;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
for(m=0;m<=9;m++)
{
for(n=1;n<=9;n++)
if(i==n&&j==m)
printf("%ld ",10000*i+1000*j+100*k+10*m+n);
}
}
}
}
getch(); /*TC中可以用上这一句*/
return 0;
}
一个5位数,如12321是回文数,个位与万位相同,十位与千位相同
找出所有的回文数?
main()
{
int i,j,k,m,n; /*int不够用,改为long*/
for(i=1;i<=9;i++)
{for(j=0;j<=9;j++)
{for(k=0;k<=9;k++)
{for(m=0;m<=9;m++)
{for(n=1;n<=9;n++)
if(i==n&&j==m)
printf(" %f",10000*i+1000*j+100*k+10*m+n); /*不是%f,改为%ld*/
}
}
}
}
while(1); /*不建议用上这一句*/
}
原本这题是检验一个数是不是回文数,我自己改了一下,想输出所有的回文数,但觉得这样的回文数太多。此程序运行后,出现黑屏,不显示。
是不因为数字太多,而不显示了呢?赐教!
改完后:
int main()
{
long i,j,k,m,n;
for(i=1;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
for(m=0;m<=9;m++)
{
for(n=1;n<=9;n++)
if(i==n&&j==m)
printf("%ld ",10000*i+1000*j+100*k+10*m+n);
}
}
}
}
getch(); /*TC中可以用上这一句*/
return 0;
}
----------------解决方案--------------------------------------------------------
int i,j,k,m,n; /*int不够用,改为long*/
i,j,k,m,n 不都是小于10的整数吗?为什么还要用long?
----------------解决方案--------------------------------------------------------
a=x/10000;
/*分解出万位*/
b=x%10000/1000;
/*分解出千位*/
c=x%100/10;
/*分解出十位*/
d=x%10;
/*分解出个位*/
把这些数据分离出来再比较哦
再加个for循环就可以判断所以的五位数了啊
----------------解决方案--------------------------------------------------------
不用搜索法而直接构造效率会高许多
方法:
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
printf("%d%d%d%d%d",a,b,c,b,a);
----------------解决方案--------------------------------------------------------
5楼的想法很好啊
----------------解决方案--------------------------------------------------------
支持5楼观点~
----------------解决方案--------------------------------------------------------
hehe 呵呵
这个题目课本上都有
建议 楼猪 想知道标答的换 去看看课本!!!
----------------解决方案--------------------------------------------------------