c语言求打印100000以内的所有回文数
答案:3 悬赏:50 手机版
解决时间 2021-04-06 23:33
- 提问者网友:放下
- 2021-04-05 22:51
c语言求打印100000以内的所有回文数
最佳答案
- 五星知识达人网友:等灯
- 2021-04-05 23:43
#include
#define N 100000 //定义符号常量
//判断是否为回文数的函数
int isHuiwenNumber(int n)
{
int sum,tmp;
tmp=n;
sum=0;
while(n) //从低位到高位分解n的每位的数字,然后依次相加
{
sum=sum*10+n%10;
n/=10;
}
if(tmp == sum) //如果重新每位求和的值等于原值,则该数为完数,返回1,否则返回0
return 1;
else
return 0;
}
int main()
{
int i,count;
for(i=0,count=0;i
if(isHuiwenNumber(i)) //调用函数,如果条件为真,执行if语句体
{
printf("%-6d",i); //输出回文数
count++;
if(count % 10 == 0) //每行输出10个后便换行
printf("
");
}
}
printf("
");
return 0;
}由于运行结果内容太多,故部分运行结果截图如下:
全部回答
- 1楼网友:大漠
- 2021-04-06 01:50
#include
unsigned long reverse(unsigned long n);
int main(void)
{
unsigned long i;
for(i=0;i<100000;++i)
{
if(i==reverse(i))
{
printf("%lu ",i);
}
}
return 0;
}
unsigned long reverse(unsigned long n)
{
unsigned long t;
for(t=0;n;n/=10)
{
t=t*10+n%10;
}
return t;
}
unsigned long reverse(unsigned long n);
int main(void)
{
unsigned long i;
for(i=0;i<100000;++i)
{
if(i==reverse(i))
{
printf("%lu ",i);
}
}
return 0;
}
unsigned long reverse(unsigned long n)
{
unsigned long t;
for(t=0;n;n/=10)
{
t=t*10+n%10;
}
return t;
}
- 2楼网友:酒醒三更
- 2021-04-06 01:16
#include
int huiwen(long x)
{
long y=0,xx=x;
while(xx!=0){
y=y*10+xx%10;
xx/=10;
}
if (x==y) return 1;
else return 0;
}
int main(){
long i;
int count=0;
for(i=0;i<=100000;i++)
if (huiwen(i)) {
count++;
printf("%7ld",i);
if (count % 10==0) printf(" ");
}
printf(" ");
}
int huiwen(long x)
{
long y=0,xx=x;
while(xx!=0){
y=y*10+xx%10;
xx/=10;
}
if (x==y) return 1;
else return 0;
}
int main(){
long i;
int count=0;
for(i=0;i<=100000;i++)
if (huiwen(i)) {
count++;
printf("%7ld",i);
if (count % 10==0) printf(" ");
}
printf(" ");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯