题解 | #金字塔图案#
金字塔图案
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循环后,变量都会重新赋值。

查看4道真题和解析