#include<stdio.h>
/*
功能:用于输出正三角形
作者:一只猿新手
*/
int main()
{
int l,w,f1,h=1,t,n;
printf("请输入图形的大小(数值范围为1-9):"); //此范围是因为在10以及之后一次会输出两个数字
scanf("%d",&l);
//输出图形的行数
f1=1; //行数
t=l-1; //使用思路:将空格比作一个倒立三角形的一半,由于最后一行没有空格因此要减一
while(f1<=l)
{
w=1;
n=1;
while(n<=t)
{
printf(" ");
n++;
} //控制每一行输出的空格
while(w<=h)
{
printf("%d",f1);
w++;
} //控制每一行输出的数字个数
printf("\n"); //当内嵌循环执行完一次,则换一次行
f1++; //使循环结束
h+=2; //每一行增加的数字的个数
t--; //逐步减少每一次空格的输出
}//整个循环运行一次,会进行两次嵌套循环运行 ,每一运行,输出一行然后再次运行
}
/*
此语句与矩阵输出不同
在矩阵中,各个控制数值都已经确定
而在此语句中,变量的值在循环中动态变化
**在每一行的数据的个数也有不同:
此语句与矩阵最大的不同便在于上一行的控制方法,个数为动态控制,而不是一成不变
*/