zoukankan      html  css  js  c++  java
  • 循环语句练习题2(打印三角形和菱形)

    问题一:用for循环打印三角形

    则编写Java代码如下:

    1     for (int m=1;m<=10;m++)
    2         {
    3             for (int n=1;n<=m;n++)
    4             {
    5                 System.out.print("* ");
    6             }
    7             System.out.println();
    8         }
    9         

    则运行结果为:

    若想打印倒三角,则编写Java代码如下:

    1 for (int m=1;m<=9;m++)
    2         {            
    3             for (int n=9;n>=m;n--)
    4             {
    5                 System.out.print("* ");
    6             }
    7             System.out.println();
    8         }

    则运行结果为:

    问题二:用for循环打印三角形

    方法一:编写Java代码如下:

     1                  //上半部分
     2                 for (int m = 1; m <= 10; m++)
     3                 {
     4                     //输出空格
     5                     for (int n = 9; n >= m ;n--)
     6                     {
     7                         System.out.print(" ");
     8                     }
     9                     //输出* 左上
    10                     for (int n = 1; n <= m; n++)
    11                     {
    12                         System.out.print("*");
    13                     }    
    14                     
    15                     //右上
    16                     for (int n = 1; n < m; n++)
    17                     {
    18                         System.out.print("*");
    19                     }
    20 
    21                     System.out.println();
    22                 }
    23                 
    24                 //下半部分
    25                 for (int m = 1; m <= 9; m++)
    26                 {
    27                     //输出空格
    28                     for (int n = 1; n <= m ;n++)
    29                     {
    30                         System.out.print(" ");
    31                     }
    32                     //输出* 左下
    33                     for (int n = 9; n >= m; n--)
    34                     {
    35                         System.out.print("*");
    36                     }    
    37                     
    38                     //右下
    39                     for (int n = 9; n > m; n--)
    40                     {
    41                         System.out.print("*");
    42                     }
    43 
    44                     System.out.println();
    45                 }    

    则运行结果为:

    还有另一种取巧的方法:

    方法二:在Java中编写代码如下:

         for(int m=1;m<=10;m++)
            {
                for(int n=9;n>=m;n--)
                {
                    System.out.print(" ");
                }
                for(int n=1;n<=m;n++)
                {
                    System.out.print("* ");  //注意此处是“* ”,而不是“*”
                }
                System.out.println();
            }
            for (int m=1;m<=9;m++)
            {
                for(int n=1;n<=m;n++)
                {
                    System.out.print(" ");
                }
                for(int n=9;n>=m;n--)
                {
                    System.out.print("* ");  //注意此处是“* ”,而不是“*”
                }
                System.out.println();
            }

    能得到同样的结果:,但“*”数量肯定与第一种方法不相同,只是形状都是菱形

  • 相关阅读:
    洛谷 1341 无序字母对
    POJ 2774 后缀数组 || 二分+哈希
    HDU 1251 统计难题
    【解题报告】AtCoder ABC115 (附英文题目)
    【模板】后缀数组
    洛谷 3567/BZOJ 3524 Couriers
    Beta 冲刺 (1/7)
    团队项目评测
    beta冲刺前准备
    Alpha冲刺——事后诸葛亮
  • 原文地址:https://www.cnblogs.com/hanazawalove/p/5219992.html
Copyright © 2011-2022 走看看