老师看一下我的代码哪儿出错了,为什么输出来不是梯形
来源:5-3 编程练习
慕容2015448
2019-10-18 15:50:20
1回答
同学你好,同学的整体思路有些偏差:
遇到这种题目,我们可以先按照数学的规律去分析一下。
输出空格:按照图形的规律,第一行输出4个空格,第二行输出3个空格,第三行输出2个空格,第四行输出1个空格。
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(); } }
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题