#include
int main()
{
int i,j,n=6;
//输出第一行:n-1个空格和1个星号并换行
for(j=1; j<=n-1; ++j) //输出n-i个空格
printf(" ");
printf("*\n");
//再输出中间的n-2行
for(i=2;i<=n-1;++i) //一共要输出n-2行
{
//输出第i行
for(j=1; j<=n-i; ++j) //输出n-i个空格
printf(" ");
printf("*"); //再输出一个星号
for(j=1; j<=2*i-3; ++j) //然后输出2*i-3个空格
printf(" ");
printf("*\n");//输出一个星号后本行结束,换行
}
//输出最后一行:2*n-1个星号
for(j=1; j<=2*n-1; ++j)
printf("*");
printf("\n");
return 0;
}
#include
int main( )
{
int i,j,n=6;
for(i=1;i<=n;++i) //一共要输出n行
{
//输出第i行
for(j=1; j<=n-i; ++j) //输出n-i个空格
printf(" ");
for(j=1; j<=2*i-1; ++j) //输出2*i-1个星号
printf("*");
printf("\n");
}
return 0;
}
#include
void print_triangle(int n,int x,int t)
//n为每个小三角形的行数,x为连续输出三角形的个数,t为三角形的向右的位移(1表示1个空格)
{
int i,k,j;
for(i=0;i {
for(k=0;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 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;
}