#使用C++for循环打印正三角形、倒三角形、菱形、正方形
正三角形
总共有五行,故可进行四次循环。在循环里面嵌套打印空格和“ * ”的循环即可。
下面进行分析:第一次打印是三个空格,一颗“ * ”,第二次打印是两个空格,3颗星,第三次打印是1个空格,五颗星;第四次是7颗星。
空格满足由3依次递减,而星满足2n-1的递增数列,此时的n为第几次循环。
for (int i = 1; i <= 4; i++) {int j = 2 * i - 1;int b = 4 - i;for (b; b > 0; b--){cout << " ";}for (int a = 1; a <= j; a++){cout << "*";}cout << endl;}
倒三角形
与正三角形刚好相反,空格从0到3,星从7到1;星的公式-2n-9;
```for (int i = 1; i <= 4; i++) {int j = -2 * i + 9;int b = i - 1;for (int c = 1; c <= b; c++) {cout << " ";}for (int a = 1; a <= j; a++){cout << "*";}cout << endl;}
循环最后的换行不能忘!
菱形
for (int i = 1; i <= 4; i++) {int j = 2 * i - 1;int b = 4 - i;for (b; b > 0; b--){cout << " ";}for (int a = 1; a <= j; a++){cout << "*";}cout << endl;}for (int i = 1; i <= 4; i++) {int j = -2 * i + 9;int b = i - 1;for (int c = 1; c <= b; c++) {cout << " ";}for (int a = 1; a <= j; a++){cout << "*";}cout << endl;}
正方形
for (int i = 1; i <= 10; i++) {int j = 10;for (int a = 1; a <= 10; a++) {cout << "*";}cout << endl;}
正方形的代码比较简单,关键在于int a=1,每次循环都会将a的值重置为1。
上三角形
这个更简单,没有空格约束。五行表示五次循环,每次循环星数目递增2,即2n-1;
for (int i = 1; i <= 5; i++) {int j = 2 * i - 1;for (int a = 1; a <= j; a++) {cout << "*";}cout << endl;}