打印二十行
#include <stdio.h>
#define N 20 //宏:使N替代10 这个程序里面是打印的行数
int main()
{
int i = 0, j = 0; //二维数组的行和列。i:行,j:列
int m = 0, n = 0; //m:存储打印数组元素,n:打印空格
int sz[N][N] = {0}; //定义数组,并初始化
for(i = 0; i < N; i++) //打印N行
{
for(n = 0; n < (N-i)/2; n++) //居中打印空格
{
printf(" ");
}
if(i%2 != 0) //当打印到奇数行时多打印两个空格
{
printf(" ");
}
for(j = 0; j <= i; j++) //打印的列与行数相同
{
if((i == j)||(j == 0)) //当行列相等时打印 1 ,当列为第一列打印 1 。
{
m = 1;
sz[i][j] = m;
}
else //剩下的行列,为上一行上一列加上一行同一列的值
{
sz[i][j] = sz[i-1][j-1] + sz[i-1][j];
m = sz[i][j];
}
printf("%5d ", m); //将行列的元素打印出来
}
printf("\n"); //每行结束跳到下一行继续打印
}
return 0;
}
下面是打印20行的结果。
如果你的显示器允许,你想打印多少行都行,只需要改变#define N 20 的20。