实验目的:
1>.写一个程序:输出一个直角三角形(上三角),行数由用户输入,如图1所示:
2>.写一个程序:输出一个直角三角形(下三角),行数由用户输入,入图2所示:
3>.写一个程序:输出一个直角三角形(下三角),行数由用户输入,入图3所示:
实验代码:
public class daMa9 {
public static void main(String[] args) {
System.out.println("请输三角形的行数:");
int number = Console.readInt();
int i, j;
for(i = 1; i <= number; ++i)
{
for(j = 1; j <= number - i; ++j)
{
System.out.print(" ");
} //打印空格
for(int k = 1; k <= 2 * i- 1; ++k)
{
System.out.print("*");
} //打印*号
System.out.print("\n");
}
System.out.println();
for(i = 0; i < number; ++i)
{
for(j = 1; j <= i; ++j)
{
System.out.print(" ");
} //打印空格
for(int k = 1; k <= 2 * number - 1 - 2 * i; ++k)
{
System.out.print("*");
} //打印*号
System.out.print("\n");
}
System.out.println();
for(i = 1; i <= number; ++i)
{
for(j = 1; j <= number - i; ++j)
{
System.out.print(" ");
}
for(int k = 1; k <= 2 * i- 1; ++k)
{
System.out.print("*");
}
System.out.print("\n");
} //打印上三角
for(i = 0; i < number; ++i)
{
for(j = 1; j <= i + 1; ++j)
{
System.out.print(" ");
}
for(int k = 1; k <= 2 * number - 1 - 2 * (i + 1); ++k)
{
System.out.print("*");
}
System.out.print("\n");
} //打印下三角
}
}
实验结果:
请输三角形的行数:
4
*
***
*****
*******
*******
*****
***
*
*
***
*****
*******
*****
***
*
请输三角形的行数:
3
*
***
*****
*****
***
*
*
***
*****
***
*
实验心得:
好怀念的程序啊,相比对于实现代码,更多的是对打印图形的许多回忆。从刚刚踏入大一的懵懂少年,面对这样的题目,为如何用C++实现功能头疼到陈老师的计算机技术课上学习如何规范的编写代码,再到如今,老态龙钟的看着熟悉的图案回忆着以前的点点滴滴,多的是那么一点点的感伤和觉悟!
回到代码本身,就像我说的,这样的题目少说我们有做过3遍了,大一的学弟学妹们啊,我想很快的,你们也将会为这样让人纠结的问题而苦恼了。其实耐下心来,很容易发现的,其实就是单纯的规律问题,每行要做的工作只有三个,打印“*”号,打印空格,以及换行,只要找到了每行打印空格和星号与行数之间的关系,就会很容易实现的,可以在纸上写下之间的联系的,然后实现代码就有规律可循,有目的可做,自然编写起来就会很容易了,该题还有一个稍稍麻烦的一点,就是行数是要自己输入的,之后只要将具体的行数换做从键盘输入的数字就可以了。
谨记,编程需要很强的逻辑性以及十分的耐心。