老师看一下我的代码哪儿出错了,为什么输出来不是梯形

来源:5-3 编程练习

慕容2015448

2019-10-18 15:50:20


http://img.mukewang.com/climg/5da96e9d091ad5b200000000.jpg

写回答

1回答

好帮手慕酷酷

2019-10-18

同学你好,同学的整体思路有些偏差:

遇到这种题目,我们可以先按照数学的规律去分析一下。

输出空格:按照图形的规律,第一行输出4个空格,第二行输出3个空格,第三行输出2个空格,第四行输出1个空格。

http://img.mukewang.com/climg/5da9742309e0b75903270223.jpg

a表示行数,每行的空格数就等于5-a。所以,每行需要输出5-a个空格,这里j就需要小于等于5-a。

输出星号:我们通过行数可以找到规律,

a=1,第一行星号是3个

a=2,第二行星号是5个

a=3,第三行星号是7个,以此类推,我们可以发现星号与行数的关系为2*a+1,所以k为星号,循环条件为c<=2*a+1。

而同学的思路是输出每一行中,都循环4次输出空格,循环4次输出4个星号,所以是不正确的。

具体代码如下:

public static void main(String[] args) {
		int a,b,c;
		for(a=1;a<=5;a++) {
			for(b=1;b<=5-a;b++) {
				System.out.print(" ");
				
			}
			for ( c = 1; c <=2*a+1; c++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

1

0 学习 · 11489 问题

查看课程