请问错误出在哪里?谢谢
来源:4-7 编程练习
KABOKUO
2017-10-18 18:08:03
int a,b,c; //定义变量a、b、c,用于存放个位、十位、百位上的数字
int x=0; //x代表三位数的积,初始值设为0
int sum=0; //sum代表和,初始值也设为0
for(c=2,b=0,a=0; c<3; b++,a++){
System.out.println(c); //取出百位数
System.out.println(b); //取出十位数
System.out.println(a); //取出个位数
x=a*b*c; //计算三个数字之积
sum=a+b+c; //计算三个数字之和
if(x==42&sum==12){
System.out.println(c+b+a); //如果积等于42并且和为12,则将满足条件的数输出
}
}
2回答
你好,我把你的代码调整了一下:
int ge, shi, bai, n; int sum, mul;// 定义变量ge、shi、bai,用于存放个位、十位、百位上的数字 for (n = 200; n < 300; n++)// 使用for循环 { bai = n / 100;// 取出百位数 shi = (n / 10) % 10;// 取出十位数 ge = n % 10;// 取出个位数 mul = bai * shi * ge;// 计算三个数字之积 sum = bai + shi + ge;// 计算三个数字之和 if (mul == 42 & sum == 12) { System.out.println(n); } }
输出应该是n,如果是System.out.println(bai+shi+ge)这样,就是输出个十百位数字的和了。
祝学习愉快~
好帮手慕珊
2017-10-18
你好!循环条件是c<3,但是在循环中并没有改变c的值,所以c<3的条件一直满足,就成死循环了,在if语句下面添加一个c++就可以了。
不过你这么做还是不能满足题目要求,题目是要求从200到300的数中去查找,所以循环条件可以是循环变量小于300,初始值是200,然后循环变量++。在循环中分别取出个位、十位和百位上的数。然后再进行判断。建议再改改
祝学习愉快!
相似问题