C语言输出金字塔

来源:百度知道 编辑:UC知道 时间:2024/06/03 07:30:09
共7行,第一行1个*,第二行3个*....即1、3、5、7、5、3、1.用嵌套循环
这是一部分代码,怎么改?
#include<stdio.h>
void main()
{
int i;
int j;
for(i=1;i<=4;i++)
{
for(j=1;j<4-i;j++)
{
printf(" ");
}
for(int k=2*i-1;k>0;k--)
{
printf("*");
}
printf("\n");
}

}
for(j=1;j<=4;j++)

{
for(i=0;i<4-j;i++)
{
printf(" ");
}
for(int k=2*i-1;k>0;k--)
{
printf("*");
}
printf("\n");
}

}

main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<2*i;k++)
printf("*");
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(k=6-2*i;k>=0;k--)
printf("*");
printf("\n");
}

}

for(int k=2*i-1;k>0;k--)
这里错了
还有
for(j=1;j<4-i;j++)
j要从0开始
完整代码如下:
#include<stdio.h>
void main()
{
int i,k,j;
for(i=1;i<=4;i++)
{
for(j=0;j<4-i;j++)
{
printf(" ");
}
for(k=2*i-1;k>0;k--)
{
printf("*");
}
printf("\n"); }
}

for(int k=2*i-1;k>