设N是一个4位数,求9倍为其反序数的N的值
#include <stdio.h>
int main()
{
int a , c;
for (int i = 1000; i <= 9000; i++)
{
c = i;
a = 0;
while (i != 0)
{
a = a * 10 + i % 10;
i /= 10;
}
if (c * 9 == a)
{
printf("%d\n", c);
}
else {
continue;
}
}
return 0;
}
无结果输出
#include<stdio.h>
int ret(int x)
{
int retx = 0;
while (x != 0)
{
retx *= 10;
retx += x % 10;
x /= 10;
}
return retx;
}
int main2()
{
for (int i = 1000;i <= 9999;++i)
{
if (i * 9 == ret(i))
{
printf("%d\n", i);
}
}
return 0;
}
输出结果,N的值
i的值在while循环中被改变了,影响for循环的执行。
代码修改如下:
#include <stdio.h>
int main()
{
int a,c;
for (int i = 1000; i <= 9000; i++)
{
c = i;
a = 0;
while (c != 0)
{
a = a * 10 + c % 10;
c /= 10;
}
if (i * 9 == a)
{
printf("%d\n", i);
}
else {
continue;
}
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!