求参考答案...想得头都要炸了~

求参考答案...想得头都要炸了~


老师能不能给个参考答案啊....想得头都要炸了,看了人家的笔记和答疑,还是做不出啊...有个标准的答案给俺对比思考下也好啊....

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

要取哪一位,就把小数点移到那一位后面(整除10*n),然后除以10取余就得到了。

比如12345,要取百位上的3,就把小数点移到3那位后面,就是先整除100, 得到123, 再除以10取余就得到3了;

代码来写就是

int number = 12345;

int ge = number%10;  //个位, 小数点已经在个位后面了就不用再除

int shi = number/10%10;  //十位, 整除10让小数点移到十位上的数字4后面,得到1234,再除以10取余得到

int bai = number/100%10;  //百位,小数点移到百位3之后,除以10取余得到百位

int qian = number/1000%10;

  • 西瓜萝卜 提问者 #1
    非常感谢您的详细讲解!问题解决了!俺的数学太差了,卡在了个十百的取值上。修改了取值方式,又写一遍代码,就得到答案了.....
    2017-03-08 23:09:56
  • 人土土zzzzz 回复 提问者 西瓜萝卜 #2
    其实可以这样考虑嘛:123456,取个位上的数字,除以10取余数就能得到(123456%10=6),那取其他位上的数字能不能把那个位变成个位数,然后像取个位数一样取出来?整除10的倍数就可以啦。
    2017-03-12 09:50:15
  • 西瓜萝卜 提问者 回复 人土土zzzzz #3
    嗯嗯~受教了~
    2017-03-12 10:20:04
小小菜鸟2018 2017-06-22 23:26:32
		//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        int ge, shi, bai;
		//使用for循环
        for (int i = 200; i<=300; i++)
        {
        	
			//取出百位数
        	bai = i/100;
			//取出十位数
			shi = i/10%10;
			//取出个位数
			ge = i%10;
			//计算三个数字之积
            int per = bai*shi*ge;
			//计算三个数字之和
            int sum = bai+shi+ge;
           // System.out.println("乘="+per+" 和 ="+sum);
            //如果积等于42并且和为12,则将满足条件的数输出
            if(per == 42 && sum == 12){
            	System.out.println(bai+" "+shi+" "+ge);
            	
            }


回忆里小马甲 2017-03-08 14:29:05
public class LoopDemo {
public static void main(String[] args) {
// 定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
int ge;
int shi;
int bai;
// 使用for循环
for (int n = 200; n <= 300; n++) {
// 取出百位数
bai = n / 100;
// 取出十位数
shi = n % 100 / 10;
// 取出个位数
ge = n % 100 % 10;
// 计算三个数字之积
int ji = bai * shi * ge;
// 计算三个数字之和
int he = bai + shi + ge;
// 如果积等于42并且和为12,则将满足条件的数输出
if (ji == 42 && he == 12) {
System.out.println(n);
}
}
}
}

这是我的代码,肯定没问题的,希望能帮到你!

  • 提问者 西瓜萝卜 #1
    非常感谢!问题已经解决了~
    2017-03-08 23:11:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师