c语言 设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值。

2025-02-22 10:53:26
推荐回答(3个)
回答1:

如果还是4位数,那么这个4位数 只有1000到1111。
#include
int main()
{ int n;
int a,b,c,d; //N的千百十个位数字
for (n=1000;n<1112;n++)
{ a=n/1000;
b=n/100%10;
c=n/10%10;
d=n%10;
if (n*9==d*1000+c*100+b*10+a) printf("n=%d\t",n);
}
return 0;
}

回答2:

设a,b,c,d为这个四位数的千百个十数
判断条件为9*(1000*a+100*b+10*c+d)=1000*d+100*c+10*b+a

你用4个for循环就可以找出,必须a的范围是1到9,其他都是0~9

回答3:

#include
void main()
{
int a,b,c,d,m,n;
for(a=1;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
for(d=1;d<10;d++)
{
m=1000*a+100*b+10*c+d;
n=1000*d+100*c+10*b+a;
{
if(9*m==n)
printf("%d%d%d%d\t",a,b,c,d);
}
}
}
}
}
}
结果是1089;