金字塔(三角形)
c
# include <stdio.h>
int main()
{
/**
打印金字塔
*
***
*****
*/
//以這個金字塔爲例,思考我們需要幾層循環,每層循環控制什麼
int a,b,c;
//第一層循環控制有多少行和換行,例如我們這個有三行
for(a=0; a<3; a++){
//第二層循環控制空格,空格數自定義,從上面我們可以看出下一層空格比上一層少一個
for(b=0; b<10-a; b++){
printf(" ");
}
//第三層循環打印 * 爲奇數 和 每行終止條件必須與行數有關,第二層循環和第三層循環是並列的
for(c=0; c < 2*a+1; c++) {
printf("*");
}
//換行
printf("\n");
}
return 0;
}
java
public static void main(String[] args) {
for(int a = 0; a < 3; a++) {
for(int b = 0; b < 8 - a; b++) {
System.out.print(" ");
}
for(int c = 0; c < 2*a+1; c++) {
System.out.print("*");
}
System.out.println();
}
}
倒過來的三角形
- 直接改打印星星的循環,倒過來
- 需要改一下打印空格的循環
public static void main(String[] args) {
//到過來的三角形
for(int i = 1; i <= 3; i++) {
for(int j = 1; j <= 12 + i; j++) {
System.out.print(" ");
}
for (int k = 5; k >= 2*i-1; k--) {
System.out.print("*");
}
System.out.println();
}
}