利用打印菱形作为演示案例。
图源@小白多低调
大体思路是先打印上半部分,在打印下半部分,要注意for循环结束的范围。
小贴士用for(k=n;k>0;k--)可以打印一般的菱形,就是三角形。
#includeint main() { int line; int i, j, k; scanf_s("%d", &line); //打印上半部分 for (i = 0; i < line+1; i++) { //i为目前行数,line为总行数 //打印空格 for (j = 0; j < line - i; j++) { printf(" "); } //打印*号 for (k = 0; k < 2*i-1; k++) { printf("*"); } printf("n"); } //打印下半部分 for (i = 0; i 为什么最后一个星号是2*(line-1-i)-1
n-1为下半部分总行数,i为目前行数



