#include <stdio.h>
void print_triangle(int n,int x,int t)
//n为每个小三角形的行数,x为连续输出三角形的个数,t为三角形的向右的位移(1表示1个空格)
{
int i,k,j;
for(i=0;i<n;i++) //控制行数
{
for(k=0;k<t;k++) //控制位移
printf("%c",32); //空格ASCII码为32
for(j=x;j>0;j--) //控制个数
{
for(k=n-1;k>i;k--)
printf("%c",32);
for(k=0;k<i*2+1;k++)
printf("%c",42);
for(k=n;k>i&&j>1;k--)
printf("%c",32);
}
printf("\n");
}
}
int main()
{
int i,k,N,t;
printf("please input N:");
scanf("%d",&N);
for(i=1;i<=N;i++) //控制大三角形行数
{
t=N*(N-i);
print_triangle(N,i,t);
}
return 0;
}
把这个列子理解,对于for循环应该就没什么问题