C语言 输出数字三角形

Python018

C语言 输出数字三角形,第1张

C程序:

#include "stdio.h"

/* X:首数字,N:行数 */

void display(int X, int N)

{

int i, j

for(i=0 i<N i++)

{

/* 输出每一行的前导空格 */

for(j=0 j<N-1-i j++)

printf("   ")

/* 输出数字部分的前一半(0..i) */

for(j=0 j<=i j++)

printf("%3d", X+i+j)

/* 输出数字部分的后一半(0..i-1) */

for(j=0 j<i j++)

printf("%3d", X+2*i-1-j)

printf("\n")

}

}

void main()

{

int X, N

printf("input first figure : ")

scanf("%d", &X)

printf("input rows : ")

scanf("%d", &N)

display(X, N)

}

运行测试:

如果是(j=1j<=6-ij++}

而for(i=1i<=6i++)

第一次输出5个空格

第二次j=2,i=2,6-i=4,只循环3次,输出3个空格

再下次就1个

再后面就没有了

所以用(j=1j<=20-2*ij++}