题目
解决代码及点评
/************************************************************************/
/*
9. 打印如下形式的杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
输出前10行,从 0行开始,分别用一维数组和二维数组实现
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
int arr[10][10]={0};
for (int i=0;i<10;i++)//赋值,杨辉三角主要是需要我们发现杨辉三角的规律,就是arr[i][j] = arr[i-1][j-1]+arr[i-1][j],也就是说某行某列的值,等于它上一行的同列,以及前一列的值之和
{
for (int j=0;j<=i;j++)
{
if (j==0||i==j) // 这两个条件都是杨辉三角的边上,直接赋值即可
{
arr[i][j]=1;
}
else
arr[i][j]=arr[i-1][j-1]+arr[i-1][j]; // 中间部分则用算法计算
printf("%6d",arr[i][j]);
}
printf("\n");
}
system("pause");
}
代码下载及其运行
代码下载链接:
http://download.csdn.net/detail/yincheng01/6653803
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果