SCAU高级语言程序设计--实验7 数组的应用(3)
三、单元测试
题目:由键盘输入正数n(n<30),要求输出具有n行的杨辉三角。
思路:rows为行数。把整个杨辉三角的数,看成二维数组。另外,每行头尾的数为1,中间用杨辉三角计算公式即可。打印就是根据行数打印。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int rows,i,j;
int nums[30][30];
scanf("%d",&rows);
/*计算杨辉三角*/
for(i=0; i<rows; i++)
{
nums[i][0] = 1;//每行头为1
nums[i][i] = 1;//每行尾为1
for(j=1; j<i; j++)//每行第2个数到第i-1个数的值
nums[i][j] = nums[i-1][j-1] + nums[i-1][j];//杨辉三角公式
}
/*打印输出*/
for(i=0; i<rows; i++){
for(j=0; j<=i; j++)
printf("%d ", nums[i][j]);
printf("\n");
}
return 0;
}