• 编程中关于被除数,除数,商和余数的问题


    例子如下:

    class Test{

      System.out.println("1/10= "+1/10);

      System.out.println("1%10= "+1%10);

      System.out.println("2/10= "+2/10);

      System.out.println("2%10= "+2%10);

    }

    结果如下

    1/10=  0

    1%10=  1

    2/10=  0

    2%10=  2

    自我总结分析:在编程中如果“被除数”小于“除数”,“商”(即 /)全部为0,“余数”(即%)为“被除数”。

    生活中实际计算 1/10=0.1  2/10=0.2

    由此延伸出的一个编程题

    public class Test {

    public static void main(String[] args){


        int i =0;
        while(true){
        i =(i+1)%10;//除数为10,余数永远不会超过10,故输出的数永远是10以内。
        System.out.println(i);
        }

      }

    }

    这是一个无限输出十以内数字的一个编程题。

    因为除数为10,故无论i增长的多大的数值,其余数都不可能超过10,故结果始终控制在0-9之间。

    举例如下:i =10, i%10=0;

    i=23,i%10=3;

    i=36,i%10=6;

    i=100023,i%10= 3;

    无论被除数有多大,其余数都是商里面最右边个位数上的那个数字。

    比如1/10,实际计算结果为0.1,1%10=1

    10/10  实际计算结果为1.0,10%10=0

    32/10,实际计算结果为3.2 在计算机中的算法 32/10=3 ;32%10=2;

    故通过此算法可以引申出如何判断一个数的个位数和十位数是几,以及如何将输入的一个数交换后输出。

    把个位,乘以10,即成了十位数。 再加上原来的十位数,即可。

     其程序如下

    import java.util.Scanner;


    public class Test {
      public static void main(String[] args){

      System.out.println("Input a number:");
      Scanner in = new Scanner(System.in);
      int num = in.nextInt();
      System.out.println("输入的数为:"+num);
      int a = num/10;
      System.out.println("十位数:"+a);
      int b= num%10;
      System.out.println("个位数 :"+b);
      /*int temp=0;
      temp=a;
      a=b;
      b=temp;*/
      num=b*10+a;
      System.out.print(num);



      }

    }

    输入结果为:

    Input a number:
    23
    输入的数为:23
    十位数:2
    个位数 :3
    32

  • 相关阅读:
    C语言 strcat
    C语言 strncpy
    C语言 strcpy
    C语言 main
    可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本
    Android系统如何录制屏幕(录制成mp4格式)
    据说有99%的人都会做错的面试题
    一道淘汰85%面试者的百度开发者面试题
    用Android模拟器也可以开发和测试NFC应用
    一道腾讯面试题的思考:到底谁会赢?
  • 原文地址:https://www.cnblogs.com/java-dog/p/5180220.html
Copyright © 2020-2023  润新知