精华内容
下载资源
问答
  • 利用循环语句输出下列图形 题目一: # ## ### #### ##### 由于有些题目循环变量从0开始,有些是从1开始,所以每个图形都用变量从0和从1开始的代码都发上来了,注意临界值的区别 // 循环变量从0开始 public static ...

    利用循环语句输出下列图形

    题目一:

    #
    ##
    ###
    ####
    #####
    

    由于有些题目循环变量从0开始,有些是从1开始,所以每个图形都用变量从0和从1开始的代码都发上来了,注意临界值的区别

    // 循环变量从0开始
    public static void f1() {
    	int n = 5;
    	for(int i = 0; i < n; i++) {
    		for (int j = 0; j <= i; j++) 
    			System.out.print("#");
    		System.out.println();
    	}
    }
    // 循环变量从1开始
    public static void f2() {
    	int n = 5;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j <= i; j++) 
    			System.out.print("#");
    		System.out.println();
    	}
    }
    

    题目二:

    #####
    ####
    ###
    ##
    #
    
    // 循环变量从0开始
    public static void f1() {
    	int n = 5;
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j <= n - 1 - i; j++) 
    			System.out.print("#");
    		System.out.println();
    	}
    }
    
    // 循环变量从1开始
    public static void f2() {
    	int n = 5;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j <= n + 1 - i; j++) 
    			System.out.print("#");
    		System.out.println();
    	}
    }
    

    题目三:

    #####
     ####
      ###
       ##
        #
    
    // 循环变量从0开始
    public static void f1() {
    	int n = 5;
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < i; j++) {
    			System.out.print(" ");
    		for (int j = i; j < n;j++) 
    			System.out.print("#");
    		System.out.println();
    	}
    }
    
    // 循环变量从1开始
    public static void f2() {
    	int n = 5;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j < i; j++) 
    			System.out.print(" ");
    		for (int j = i; j <= n;j++) 
    			System.out.print("#");
    		System.out.println();
    	}
    }
    

    题目四:

        #
       ##
      ###
     ####
    #####
    
    // 循环变量从0开始
    public static void f1() {
    	int n = 5;
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < n - 1 - i; j++)
    			System.out.print(" ");
    		for (int j = n - 1 - i; j < n; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    // 循环变量从1开始
    public static void f2() {
    	int n = 5;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j < n + 1 - i; j++)
    			System.out.print(" ");
    		for (int j = n + 1 - i; j <= n; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    

    题目五:

        #
       ###
      #####
     #######
    #########
    
    // 循环常量从0开始
    public static void f1() {
    	int n = 5;
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < n - 1 - i; j++)
    			System.out.print(" ");
    		for (int j = n - 1 - i; j <= n - 1 + i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    // 循环常量从1开始
    public static void f2() {
    	int n = 5;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j < n + 1 - i; j++)
    			System.out.print(" ");
    		for (int j = n + 1 - i; j <= n - 1 + i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    

    题目六:

    #############
      #########
        #####
          #
    
    // 循环变量从0开始
    public static void f1() {
    	int n = 4;
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < 2 * i; j++)
    			System.out.print(" ");
    		for (int j = 2 * i; j <= 4 * n - 4 - 2 * i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    //   循环变量从1开始
    public static void f2() {
    	int n = 4;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j < 2 * i - 1; j++)
    			System.out.print(" ");
    		for (int j = 2 * i - 1; j <= 4 * n - 1 - 2 * i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    

    题目七:

       #
      ###
     #####
    #######
     #####
      ###
       #
    
    // 循环变量是从0开始
    public static void f1() {
    	int n = 4;
    	// 前n行输出
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < n - 1 - i; j++)
    			System.out.print(" ");
    		for (int j = n - 1 - i; j <= n - 1 + i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    	// 后n-1行输出
    	for (int i = n; i < 2 * n - 1; i++) {
    		for (int j = 0; j < 1 - n + i; j++)
    			System.out.print(" ");
    		for (int j = 1 - n + i; j <= 3 * n - 3 - i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    // 循环变量是从1开始
    public static void f2() {
    	//输出前n行图形
    	int n = 4;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j < n+1-i; j++)
    			System.out.print(" ");
    		for (int j = n+1-i; j <= n-1+i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    	//输出后n-1行图形
    	for (int i = n+1; i <= 2*n-1; i++) {
    		for (int j = 1; j < 1-n+i;j++)
    			System.out.print(" ");
    		for (int j = 1-n+i;j<= 3*n-1-i;j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    
    // " "
    // i 1234567 行数
    // j 0123210 " "的数量 → j = |i-4|
    
    // *
    // i 1234567
    // j 7531357 "*"的数量  → j = 7-2*|i-4|
    for (int i = 1; i <= 7; i++) {
    	for (int j = 1; j <= Math.abs(4 - i); j++)
    		System.out.print(" ");
    	for (int j = 1; j<=7-2*Math.abs(4-i);j++)
    		System.out.print("*");
    	System.out.println();
    }
    
    

    题目八:

    #######
     #####
      ###
       #
      ###
     #####
    #######
    
    // 循环变量从0开始
    public static void f1() {
    	int n = 4;
    	// 前n行输出
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < i; j++)
    			System.out.print(" ");
    		for (int j = i; j <= 2 * n - 2 - i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    	// 后n-1行输出
    	for (int i = n; i < 2 * n - 1; i++) {
    		for (int j = 0; j < 2 * n - 2 - i; j++)
    			System.out.print(" ");
    		for (int j = 2 * n - 2 - i; j <= i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    // 循环变量从1开始
    public static void f2() {
    	// 输出前n行图形
    	int n = 4;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j < i; j++)
    			System.out.print(" ");
    		for (int j = i; j <= 2 * n - i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    	// 输出后n-1行图形
    	for (int i = n + 1; i <= 2 * n - 1; i++) {
    		for (int j = 1; j < 2 * n - i; j++)
    			System.out.print(" ");
    		for (int j = 2 * n - i; j <= i; j++)
    			System.out.print("#");
    		System.out.println();
    	}
    }
    
    // 1234567 行数
    // 0123210 " "的数量 → j = 3-|i-4|
    // 1234567 行数
    // 7531357 "*"的数量 → j = 2*|x-4|+1
    for (int i = 1; i <= 7; i++) {
    	for (int j = 1; j <= 3 - Math.abs(4 - i); j++)
    		System.out.print(" ");
    	for (int j = 1; j <= 2 * Math.abs(4 - i) + 1; j++)
    		System.out.print("*");
    	System.out.println();
    }
    

    怎么快速找到边界,以下面的图形为例。

    #####
     ####
      ###
       ##
        #
    

    将它想象成一个坐标系,以向右为正方向的x轴和以向下为正方向的y轴。之所以将向下定为y轴的正方向是因为y坐标正好可以设定为行数
    第一行#的坐标分别是(1,1),(2,1),(3,1),(4,1),(5,1)
    第二行#的坐标就是(2,2),(2,3),(2,4),(2,5)
    ……
    第五行#的坐标是(5,5)
    只要确定边界方程,就可以写出循环变量的变化范围
    在这里插入图片描述

    可以看到一条边界过(1,1),(2,2),(3,3),(4,4),(5,5)
    任意3个点就可以确定方程,这条边界线就是x=y。
    为什么是写成x=y 而不是 y=x,在我们循环打印中都是按行打印,需要知道的是每行要打印多少字符,求的是x的取值范围而不是y的。
    在这里插入图片描述

    同样的看第四题

        #
       ##
      ###
     ####
    #####
    

    边界线过(5,1),(4,2),(3,3),(2,4),(1,5)
    随便3个点可以确定方程是x = 6 - y
    在这里插入图片描述
    循环变量以0开始的情况 第一行变量是变成(x,0),同样可以确定边界方程。

    展开全文
  • 使用循环语句输出下面的图形。 # # # # # # # # # # # # # # # # # # # # # # # # #
  • 循环语句输出菱形图形

    千次阅读 2015-03-17 12:28:36
    代码如下: public class TriangTest { public static void main(String[] args) { int n = 4;//最大三角形的行数 for(int i = 0; i ; i++) { for(int x = i + 1; x ; x+

    代码如下:

    public class TriangTest {
    
    	public static void main(String[] args) {
    		int n = 4;//最大三角形的行数 
            
            for(int i = 0; i < n - 1; i++) 
            { 
                for(int x = i + 1; x < n; x++) 
                { 
                    System.out.print(" "); 
                } 
                for(int y = 0; y < (i + 1) * 2 - 1; y++) 
                { 
                    System.out.print("*"); 
                } 
                System.out.println(); 
            } 
            for(int i = 0; i < n; i++) 
            { 
                for(int x = 0; x < i; x++) 
                { 
                    System.out.print(" "); 
                } 
                for(int y = i; y < 2 * n - i - 1; y++) 
                { 
                    System.out.print("*"); 
                } 
                System.out.println(); 
            } 
    	}
    
    }
    



    展开全文
  • C语言打印输出沙漏图形今天为大家讲解用C语言编辑输出沙漏图形,这是一个非常好看图形。程序简捷易懂,有C程序常规的语句格式和结构,对于广大C程序爱好者有着可以借鉴,发挥的空间,在此基础上还可以创建编写出其他...

    C语言打印输出沙漏图形

    今天为大家讲解用C语言编辑输出沙漏图形,这是一个非常好看图形。程序简捷易懂,有C程序常规的语句格式和结构,对于广大C程序爱好者有着可以借鉴,发挥的空间,在此基础上还可以创建编写出其他的图形。

    1c341c12722eac9672c34fab585b6853.png
    41fa0474c3b13fc91035df6a69aa2e11.png
    511096faa11be2bd46e4f25fc247c97a.png

    沙漏图形源程序及解释说明

    源程序:

    #include

    int main()

    {

    printf("");

    int a,b,c,d;

    for(a=-9;a<=9;a++)

    {

    for(b=1;b<=19-abs(a);b++)

    printf(" ");

    for(c=1;c<2*abs(a)+2;c++)

    printf("*");

    printf("");

    }

    return 0;

    }

    源程序说明

    #include //加载标准输入输出头文件。

    int main()//定义整型主函数。

    {

    printf("");//换行,加此语句的目的是图形前空一行。

    int a,b,c,d;//定义整型变量。

    for(a=-9;a<=9;a++)//外层循环,从-9到9共19行。

    {

    for(b=1;b<=19-abs(a);b++)//内层循环,控制星号前的空格数。

    printf(" ");//输出空格。

    for(c=1;c<2*abs(a)+2;c++)//内层循环,控制星号的输出个数。abs(a)绝对值函数,主要是用来协助确定星号的个数,属于算法方面的技巧,应该反复的慢慢体会,会有很大的惊喜。

    printf("*");//输出星号。

    printf("");//换行。

    }

    return 0;返回主函数值0。

    }

    谢谢大家!我会持续输出分享更优秀的C程序。

    c9b1cd250fe0ae57370ef7dc235bd751.png
    展开全文
  • for语句输出图形

    2019-10-05 06:42:12
    一、输出以下图形 ******************************** 用for...for...嵌套循环,内循环控制每一行的个数(即列数),外循环控制行数 class ForDraw { public static void main(String[] args) { for (int...

    一、输出以下图形

    ********
    ********
    ********
    ********

     用for...for...嵌套循环,内循环控制每一行的个数(即列数),外循环控制行数

    class ForDraw
    {
        public static void main(String[] args)
        {
            for (int i=1;i<=4 ;i++ )                //外循环,控制行数
            {
                for (int j=1;j<=8 ;j++ )            //内循环,控制每行打印*的个数。j=1;j<=8,即8个
                {
                    System.out.print("*");            
                }
                System.out.print("\n");             //一行完成后,跳出循环,打印一个换行符
            }
        }
    }

     以下,可控制行和列

    class ForDraw
    {
        public static void main(String[] args)
        {
            int lay=5;      //变量lay控制行
            int col=12;    //变量col控制列
            for (int i=1;i<=lay ;i++ )                
            {
                for (int j=1;j<=col ;j++ )            
                {
                    System.out.print("*");            
                }
                System.out.print("\n");            
            }
        }
    }

     

     

    二、输出以下图形

    *
    **
    ***
    ****
    *****
    ******
    *******
    ********

    方法一(推荐方法):

    思路:
    第一行1个、第二行2个。。。。说明每行打印*数与行号一样。

    class ForDraw
    {
        public static void main(String[] args)
        {
            for (int i=1;i<=8 ;i++ )            //控制行数。
            {
                for (int j=0;j<=i ;j++ )        //控制每行*数。循环条件是j<=i,即每行*最大数即行号。
                {
                    System.out.print("*");
                }
                System.out.print("\n");            
    
            }
        }
    }

     

    方法二:

    每循环一次,打印数量比上一行多一次。可定义一个变量,记录下循环次数。第一次循环打印1个*,第次循环打印2个*。

    class ForDraw
    {
        public static void main(String[] args)
        {
            int count=1;                        //记录循环次数。
            for (int i=1;i<=8 ;i++ )            //控制行数。
            {
                for (int j=0;j<count ;j++ )        //控制每行*数。
                {
                    System.out.print("*");
                }
                System.out.print("\n");            
                count++;
            }
        }
    }

     

     三、输出以下图形

    ********
    *******
    ******
    *****
    ****
    ***
    **
    *

    方法一(推荐):

    思路:第一行8个、第二行7个……即最多打印8个,第一行循环8次,即1-8;第二行循环7次,即2-8,以此类推

    class ForDraw
    {
        public static void main(String[] args)
        {
            for (int i=1;i<=8 ;i++ )            //控制行数。
            {
                for (int j=i;j<=8 ;j++ )        //控制每行*数。循环条件是j=i;j<=8,即每行数量循环次数。
                {
                    System.out.print("*");
                }
                System.out.print("\n");            
    
            }
        }
    }

     

    方法二:第一行8个、第二行7个……即最多打印8个,第一行循环8次,即1-8;第二行循环7次,即1-7,以此类推

    class ForDraw
    {
        public static void main(String[] args)
        {
            for (int i=1;i<=8 ;i++ )            //控制行数。
            {
                for (int j=0;j<=(8-i) ;j++ )    //控制每行*数。循环条件是j=i;j<=8,即每行数量循环次数。
                {
                    System.out.print("*");
                }
                System.out.print("\n");            
    
            }
        }
    }

     

     

     

    四、输出以下图形 

            *
          **
         ***
       ****
      *****
    ******

    思路:

    第1行实际上是打印5个空格和1个*;第1行实际上是打印4个空格和2个*……以此类推

    class ForDraw
    {
        public static void main(String[] args)
        {
            for (int i=1;i<=6 ;i++ )            //控制行数。
            {
                for (int j=i;j<=5 ;j++ )        //控制空格的输出。第一行5个空,第二行4个空,以此类推
                {
                    System.out.print(" ");
                }
                for (int j=1;j<=i ;j++ )        //控制*的输出。第一行1个*,第二行2个*,以此类推。
                {
                    System.out.print("*");
                }
                System.out.print("\n");            
    
            }
        }
    }

     

    五、输出以下图形 

        *
       ***
      *****
     *******
    *********

     思路:

    第1行实际上是打印4个空格,1个*;第2行实际上是打印3个空格,3个*……*个数是行号*2-1

    class ForDraw
    {
        public static void main(String[] args)
        {
            for (int i=1;i<=5 ;i++ )            //控制行数。
            {
                for (int j=i;j<=4 ;j++ )        //控制空格的输出。第一行4个空,第二行5个空,以此类推,共4行
                {
                    System.out.print(" ");
                }
                for (int j=1;j<=i*2-1 ;j++ )        //控制*的输出。第一行1个*,第二行2个*,以此类推,即行号*2-1
                {
                    System.out.print("*");
                }
                System.out.print("\n");            
    
            }
        }
    }

     

     

    六、输出以下图形 

         *
       *   *
      *      *
     *         *
    *********

     思想:

    第1行和最后一行单独控制

    其它几行,用for...for...嵌套循环来控制。

    class ForDraw
    {
        public static void main(String[] args)
        {
            for (int i=1;i<=4 ;i++ )            //控制第一行,打印4个空格
            {
                System.out.print(" ");
            }
            System.out.print("*");              //第一行4个空格之后,打印一个*
            System.out.print("\n");
    
            for (int i=1;i<=3 ;i++ )            //控制行数。
            {
                for (int j=i;j<=3 ;j++ )        //控制空格的输出。第一行3个空,第二行2个空,以此类推,共3行
                {
                    System.out.print(" ");
                }
                System.out.print("*");          //空格后输出一个*
                for (int j=1;j<=i*2-1 ;j++ )    //控制空格的输出。    
                {
                    System.out.print(" ");
                }
                System.out.print("*");          //空格后输出一个*
                System.out.print("\n");            
    
            }
            for (int i=1;i<=9 ;i++ )            //控制最后一行
            {
                System.out.print("*");
            }
        }
    }

     

    方法二(推荐此方法):

    思路:

    先打印三角形前面的空格,再打印三角形

    三角形中,第一行和最后一行全是*,先打印。

    三角形中,其余各行中,第一个和最后一个字符是*,其余是空格。

    class ForDraw
    {
        public static void main(String[] args)
        {
            int lay=5;                    //层数5层
            for (int i=1;i<=lay ;i++ )    //控制5层循环。i变量控制层数。
            {
                //以下控制三角形前面的空格打印,1--4  2--3  3--2。j用一次for循环就释放。
                for (int j=1;j<=lay-i ;j++ )
                {
                    System.out.print(" ");
                }
                //以下控制*打印
                //1--1  2--3  3--5
                //其余2个,最后一行全是。k变量用来控制每一行的*数量。
                for (int k=1;k<=i*2-1 ;k++ )
                {
                    //第一层和最后一层,全打*。涉及到层数,用i变量。
                    if (i==1 | i==lay)
                    {
                        System.out.print("*");
                    }else
                    {
                        //第一个和最后一个打*,其余打空格。涉及到每一层的*个数,用k变量。
                        if (k==1 |k==i*2-1)
                        {
                            System.out.print("*");
                        }
                        else
                        {
                            System.out.print(" ");
                        }
                    }
                }
                System.out.println();
            }
        }
    }

     

    转载于:https://www.cnblogs.com/ibelieve618/p/6373216.html

    展开全文
  • 怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ...4个答案提问时间: 2011-12-1622个赞回答:这个图形对吧?...if 不是循环语句吧 用for loop做的:public class NestedLoop{...
  • goto语句输出一个图形

    2014-04-24 16:53:50
    题目:用goto语句模拟嵌套循环结构,shu
  • #include “stdio.h” void main() { printf("*********"); }
  • 怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ...4个答案提问时间: 2011-12-1622个赞回答:这个图形对吧?...if 不是循环语句吧 用for loop做的:public class NestedLoop{...
  • 输入一个n,表示两个菱形图形(实心和空心)的行数(或者一半行数),利用循环语句实现输出。 * * * * * * * * * * * * * * * * * * * * * 说明: 此题相当于两个题,要打印出两个图。 提示: 第一个菱形...
  • 要求:提示矩形,三角形,圆三种图形,并要求选择,然后输入计算所需数据,输出面积。 使用if条件语句 代码如下所示: import java.util.Scanner; public class Text1 { public static void main(String[] ...
  • C/C++,for循环输出图形

    千次阅读 2018-02-09 11:26:39
    编一程序显示如下图案: ____* ___*** __***** _******* ********* 程序1: #include void main {cout ...程序算法分析: 选用for循环 ... //有了这个外壳后,中间每一行可用for语句来控制空格数和星号数。
  • 用C语言程序输出图形C语言是一个应用非常好的编程软件,功能丰富,可以编写操作系统,应用软件和一些硬件的驱动程序。利用C语言编写程序来输出一些图形,不仅可以方便的了解C程序的结构方式,语句特点,也可以利用...
  • 算法训练 图形显示 时间限制:1.0s 内存限制:512.0MB 问题描述  编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数):  * * * * *  * * * *  * * *  * *  * 分析:第一行输出...
  • 在matlab中没有找到%d的好用法(可能是本人比较菜),只是找到sprinf之类的可以将变量的值进行输出,但是这种很难直接加到plot的图像中。 因此,将字符与变量一同拼接为一个字符串,再将该字符串输出在图例与标题中...
  • 1.通过循环画出相应图形 public class Lianxi { public static void main(String[] args) { for(int i=1; i<=5;i++){ for(int j=1;j<=5;j++){ System.out.print("* "); } System.out.print("\n"); }

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 602
精华内容 240
关键字:

循环语句输出图形