C程序设计第六章作业 6

程序员成长之旅 · 程序员成长之旅/C语言/习题(C语言程序设计)/第六章习题 · 235 字

问:

输出杨辉三角形 (10行)

答:

#include<stdio.h> //杨辉三角形

#define N 10//此处修改可以控制输出总行数 所有参数会随之变动

int main() {

int row1 = 0, row2 = 0;

row1 = N;

for (int k = 1; k <= N; k++) {

row2 += k;

}

int i = 1, j = 0, l = 0;

int Num[N+1][N+1] = { {1},{1,1} };//前两行手动定义

int Num1 = 0, Num2 = 0, flag1 = 1;

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

if (flag1 >= 3) {//跳过前两行 第三行开始计算

for (l = 0; l < flag1; l++) {//根据当前行数 限制循环次数

//从第二位写入数据

Num[i][l + 1] = Num[i - 1][l] + Num[i - 1][l + 1];

}

Num[i][0] = 1;//第一位 数字1

Num[i][flag1 - 1] = 1;//最后一位 数字1

}

flag1++;

}

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

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

printf("%d\t", Num[i][j]);

}

printf("\n");

}

}

运行截图: