题解 | #金字塔图案#
金字塔图案
https://www.nowcoder.com/practice/d84e8339f9444bb6b29bd3f227c8e538
#include <stdio.h>//学习c语言要学会脑袋里进行调试 //类比上一道题的思路 int main() { int a;//对行数进行定义 while(scanf("%d" , &a) != EOF)//多组,输入 { for(int i = 0;i < a;i++)//这里为了输出空格 { for(int j = a - i - 1;j > 0;j--)//由示例a=4不难看出,空格数每一行是迭代递减的(3,2,1) {//这里有一个思考,我也没进行验证,如果是j--类型的,最好把for的第一个条件中的变量赋值为递减的 printf(" "); } for(int k = 0;k <= i;k++)//不难看出,*是迭代递增的 {//如果是j++类型的,最好把for的第二个条件赋值为递增的 printf("* "); } printf("\n");//每打印完一行*和空格(每经历完上面两个循环)之后,都要进行一次换行 } } return 0; } //注意:每次重新从外部进入for循环后,变量都会重新赋值。