★杨辉三角的规律是非常明显的:
◇每一行的第一个数和最后一个数都为1;
◇从第三行開始,除去第一个数和最后一个数,其余的数都是上一行中两个数的和;
◇每一个实例最后一行的数字个数都等于这个实例的层数;
因此这个题目的关键就是用代码将上述规律描写叙述清楚的过程。没有复杂的数据结构和算法。
★代码实现:
#include <stdio.h> static int a[100][100]; int main() { int i,j,num; while(scanf("%d",&num)!=EOF) { for(i = 1; i <= num; i++) { a[i][0] = 1; a[i][i-1] = 1; } for(i = 2;i < num; i ++) { for(j = 0; j < i -1; j ++) { a[i + 1][j + 1] = a[i][j] + a[i][j + 1]; } } for(i = 1; i <= num;i ++) { for(j = 0; j < num; j ++) { if(i == (j + 1)) { printf("%d",a[i][j]); printf(" "); break; } printf("%d ",a[i][j]); } } printf(" "); } return 0; }