C语言编写程序,试找出满足下列条件的所有三位数:(用一重循环实现)
①其百位数不大于2;
②将个位与百位对换,得到的三位数是原三位数的两倍多;
运行代码:
#include <stdio.h>
int main()
{
int x,y,hundred,decade,unit;
for(x=100;x<300;x++)
{
hundred=x/100;
decade=x%100/10;
unit=x%10;
y=unit*100+decade*10+hundred;
if(y>2*x)
printf("%d\n",x);
}
return 0;
}
运行结果:
注意点: 题目要求我们要用 一重循环 来写,所以我们要给自己限定在一重循环中。本题要求的是 三位数 ,所以从一开始我们就可以给开始循环前的初始值赋予100。并且本题也要求 其百位数不大于2 ,所以说我们最后跳出循环的要求即是x变量取到300时。
for(x=100;x<300;x++)
并且再看题目第二点要求:将个位与百位对换,得到的三位数是原三位数的两倍多。
所以说我们再将其百位和个位换位。
并且再找出换位后两倍的值
y=unit*100+decade*10+hundred; //unit个位,decade十位,hundred百位
if(y>2*x)