• 流程控制习题(二)


    1.已知判断闰年的规则是:能被4整除,但是不能被100整除。或者能被400整除。打印从1900年至2050年期间所有的闰年。

      int y = ;//定义一个变量 年份y

      for(y=1900;y<=2050;y++){      //循环遍历

        if((y%4==0  &&  y%100!=0)||(y%400==0))   //闰年条件

        {

         System.out.println(y);   //打印年份

         }

        }

    2.使用while/do-while/for循环三种方式打印100以内4的倍数

      int x =1;

      while(x<=100)  //条件表达式

      {

      if(x%4==0)   //条件

      {

      System.out.println(x);

      }

      x++;   //循环语句

      }

    int x = 1;

    do

    {

    if(x%4==0)

    {

    System.out.println(x);

    }

    x++;

    }while(x<=100);

    for(int x =1; x<=100; x++)

    {

    if(x%4==0)

    {

    System.out.println(x);

    }

    }

    3.输入数量不确定的正数和负数(一次输入一个),然后打印整数和负数的个数,当输入0时,程序停止

     (1)

      int[] s;     //定义一个数组

          s=new int[100];    //变量

          int i,zheng=0,fu=0;   //定义变量

          Scanner sc=new Scanner(System.in);  //创建Scanner对象

          for(i=0;i<100;i++){   //循环遍历

         

            s[i]=  sc.nextInt();

            if(s[i]==0) //输入0,程序停止

            {

              break;

              }

            if(s[i]>0)//数大于0,为正数

            {

             zheng++;

            }

            if(s[i]<0) //数小于0,为负数

              {

             fu++;

              }

          }

              System.out.println("正数的个数"+zheng); //打印个数

              System.out.println("负数的个数"+fu);

     (2)

    Scanner scanner = new Scanner(System.in);
      int num ;//num用来保存从控制台输入的整数
      int zheng=0;
      int fu=0;
      do
      {
       System.out.println("请输入整数");
       num = scanner.nextInt();
       if(num>0)
       {
        zheng++;
       }else if(num<0)
       {
        fu++;
       }else
       {
        break;
       }
      }while(true);
       System.out.println("正数的个数"+zheng); //打印个数

              System.out.println("负数的个数"+fu);


      

    4.输入序号选择不用的功能

    Scanner sc = new Scanner(System.in);

    for(int a=0; a<3; a++)

    {

    System.out.println("*******************");

    System.out.println("1.管理员       2.顾客      3.退出");

    System.out.println("请输入数字选择登录");

    int b =sc.nextInt();

    if(b==1)

    {

    System.out.println("管理员登录过程省略");

    }

    else if(b==2)

    {

    System.out.println("顾客登录过程省略");

    }

    else if(b==3)

    {

    System.out.println("系统退出");

    }

    }

    5.编写程序,设计一个图平面积计算,选择不同的图形输入数字计算面积,选择4退出程序。

    Scanner sc = new Scanner(System.in);

    for(int a=0; a<3; a++)

    {

    System.out.println("计算面积");

    System.out.println("1.矩形       2.三角形      3.圆      4.退出");

    System.out.println("请选择数字对应的功能");

    int b = sc.nextInt();

    if(b==1)

    {

    System.out.println("你选择了矩形");

    System.out.println("请输入矩形的长");

    int x =sc.nextInt();

    System.out.println("请输入矩形的宽");

    int y = sc.nextInt();

    System.out.println("矩形的面积为:"+x*y);

    } else if(b==2)

    {

    System.out.println("你选择了三角形");

    System.out.println("请输入三角形的底长");

    int s =sc.nextInt();

    System.out.println("请输入三角形的高");

    int m = sc.nextInt();

    System.out.println("矩形的面积为:"+s*m/2);

    }else if(b==3)

    {

    System.out.println("你选择了圆");

    System.out.println("请输入圆的半径");

    int d =sc.nextInt();

    System.out.println("矩形的面积为:"+3.14*d*d);

    }else if(b==4)

    {

    System.out.println("退出");

    }

    }

    6.要求用户输入用户名和密码,只要不是admin和111就提示用户名或密码不正确,请重新输入。正确时结束循环,提示登陆成功

    Scanner scanner = new Scanner(System.in);
      String user;
      String pwd;
      boolean flag = false;
      do
      {
       System.out.println("请输入用户名");
       user = scanner.nextLine();
       System.out.println("请输入密码");
          pwd = scanner.nextLine();
          if("admin".equals(user)  && "111".equals(pwd))//打印登录成功,结束while
          {
           System.out.println("登陆成功");
           //让while 后的条件变成flase
           break;
          }else//用户名或密码有误的情况。继续执行do-while
          {
           System.out.println("用户名或密码不正确");
           //让while 后的条件变成true
           flag =true;
          }
      }while(flag);
      

    7.使用for循环方式计算2+4+6++100的值

    int x=0;

    for(int i=0;i<=100;i++){

    if(i%2==0){

    x=x+i;

    }

    }

             System.out.println(x);

    8.编写Java程序,在控制台上打印出九九乘法表(两种)

    for(int a=1; a<=9; a++){

    for(int b=1; b<=a; b++)

    {

    System.out.print(b+"*"+a+"="+a*b+" ");

    }

    System.out.println();

    }

    for(int a=1; a<=9; a++){

    for(int b=1; b<=9; b++)

    {

    System.out.print(b+"*"+a+"="+a*b+" ");

    }

    System.out.println();

    }

    9.不断要求用户输入一个数字(假定用户输入的数字都是正整数),当用户输入end的时候显示刚才输入数字中的最大值。

     
      Scanner scanner = new Scanner(System.in);
      String input;//接收从控制台输入的字符串
      int num;
      int max =0;//存储最大的数
      
           do
           {
            System.out.println("请输入一个字");
            input =scanner.nextLine();
            if("end".equals(input))
            {
             //结束while
             break;
            }else
            {
             //说明是数字,跟最大的那个比较
             num =Integer.parseInt(input);
             if(num>max)
             {
              max=num;
             }
            }
           }while(true);
           System.out.println("最大值是:"+max);

    10.输入一个整数,判断这个数字是不是质数

    Scanner input = new Scanner(System.in);

      System.out.println("请输入一个数:");

      int a = input.nextInt();

      boolean isF = true;

      for(int i=2;i<a;i++)

      {

       if(a%i==0){

        isF = false;

        break;

       }else{

        continue;

       }

      }

      if(isF){

       System.out.print(a+"是质数");

      }else{

       System.out.print(a+"不是质数");

      }

    11.打印出100以内的质数,一行显示5个,(质数是只能被1跟自身整除的数,1不是质数)

        int i=100;

        int n=0;

        for(int j=2;j<i+1;j++){

          int a=j;

          int c=1;

          for(int b=2;b<a;b++){

            if(a%b==0){

              c=0;

              break;

            }

          }

          if(c==1){

           System.out.print(j+",");

            n=n+1;

            if(n%5==0){

              System.out.println();

            }

          }

        }

    12.某城市出租车计费问题:

    Ø每日06:00-21:00,起步价6元,当日22:00-次日05:00,起步价7元。

    Ø起步价包含2公里,超出部分按照每公里1.5元收费。

    Ø每次乘车加收1元的燃油附加税。

    输入打车的时间和距离,计算本次打车的费用。

    Scanner sc = new Scanner (System.in);

    System.out.println("请输入您上车时间");

    int a = sc.nextInt();

    if(a>=6 && a<=21)

    {

    System.out.println("距离");

    int b = sc.nextInt();

    double x=(6+(b-2)*1.5);

    System.out.println("打车费用:"+x);

    }else if(a>=22 && a<=24)

    {

    System.out.println("距离");

    int c = sc.nextInt();

    double y=(7+(c-2)*1.5);

    System.out.println("打车费用:"+y);

    }else if(a>=0 && a<=5)

    {

    System.out.println("距离");

    int d = sc.nextInt();

    double z=(7+(d-2)*1.5);

    System.out.println("打车费用:"+z);

    }

  • 相关阅读:
    [网络流24题]餐巾计划问题
    [网络流24题]方格取数问题
    [网络流24题]试题库问题
    [网络流24题]最长递增子序列问题
    [网络流24题]圆桌问题
    [网络流24题]魔术球问题
    51nod1462 树据结构
    51nod1053 最大M子段和 V2
    51nod1026 矩阵中不重复的元素 V2
    BZOJ3832: [Poi2014]Rally
  • 原文地址:https://www.cnblogs.com/webplq/p/6426823.html
Copyright © 2020-2023  润新知