在 C 中绘制垂直金字塔
Drawing a Vertical Pyramid in C
我必须按如下方式获得所需的输出:
1
2 6
3 7 10
4 8 11 13
5 9 12 14 15
但我似乎不知道该怎么做。我得到的是:
1
2 6
3 7 6
4 8 7 6
5 9 8 7 6
这是我的代码:
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;j<i;j++)
{
if((j+1)==1)
printf("%d ",i);
else
printf("%d ",i+n-j);
}
printf("\n");
}
return 0;
}
但我理解想要的输出:
我必须像直角三角形一样按升序打印从 1 到 15 的数字。
#include <stdio.h>
#define SZ 5
int main()
{
int i,j, add = SZ, val[SZ+1] = {1};
for( j=1; j<=SZ; ++j )
{
for( i=0; i<j; ++i )
printf( "%2d ", val[i]++ );
printf( "\n" );
val[j] = val[j-1] + --add;
}
}
我必须按如下方式获得所需的输出:
1
2 6
3 7 10
4 8 11 13
5 9 12 14 15
但我似乎不知道该怎么做。我得到的是:
1
2 6
3 7 6
4 8 7 6
5 9 8 7 6
这是我的代码:
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;j<i;j++)
{
if((j+1)==1)
printf("%d ",i);
else
printf("%d ",i+n-j);
}
printf("\n");
}
return 0;
}
但我理解想要的输出: 我必须像直角三角形一样按升序打印从 1 到 15 的数字。
#include <stdio.h>
#define SZ 5
int main()
{
int i,j, add = SZ, val[SZ+1] = {1};
for( j=1; j<=SZ; ++j )
{
for( i=0; i<j; ++i )
printf( "%2d ", val[i]++ );
printf( "\n" );
val[j] = val[j-1] + --add;
}
}