请问这个题怎么做,搞不清思路,要用多重循环做。判断一个数(小于10位)的位数。输入999,则输出 “它是个3位的数!”

来源:4-15 编程练习

生亦何欢死亦何苦

2017-08-11 23:16

判断一个数(小于10位)的位数。
输入999,则输出 “它是个3位的数!”
598dca3900012f4605400960.jpg

写回答 关注

3回答

  • WLQBS
    2017-08-12 00:32:22
    已采纳
    while(num !=0){
        count ++;
        num/=10;
    }

    解题思路:

    1、判断数字的位数,通常是跟10有关,就像10是2位,100是3位,1000是4位,即数字后面的0总比位数少一位

    2、如上代码,num=999,不等于0,进入循环后,count先加1,num/=10是num=num/10;就是在当前num的值除以10后的除数重新赋值给num,此时num=99,再次进入循环,count+1,num=9,第三次循环后9/10=0,num=0就结束循环,count=3

    荒旅 回复月下心语

    谢谢你的解答

    2017-08-22 14:02:25

    共 6 条回复 >

  • 慕标0145146
    2017-08-14 12:22:38

    public class HelloWorld{

    public static void main(String[] args){

    int num = 999;

    int count = 0;

    int i;


    for(i=10;num%i!=0;)

    {

        num=num/10;

        count++;

    }


    System.out.println("它是个"+count+"位的数!");

    }

    }


    生亦何欢死亦...

    谢谢谢谢

    2017-08-14 12:42:02

    共 1 条回复 >

  • 毒素100
    2017-08-12 00:41:55
    if(0<num&&num<=999999999){ //判断是否在范围内
        while(num!=0){   /*建立一个循环体
            count++;      *使num每次除以10,并记录次数
            num/=10;      *结束条件是num=0(即上一步9/10=0)
        }                 */
        System.out.println("它是个"+count+"位的数!");
    }else{
        System.out.println("输入错误!");
    }


    生亦何欢死亦...

    谢谢谢

    2017-08-14 12:41:48

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165538 学习 · 17586 问题

查看课程

相似问题