C程序习题-打印杨辉三角

来源:网络时间:2011-06-27 09:09:24

  打印出以下的杨辉三角形(要求打印10行)

  每一行的第一个和最后一个都是1,而中间元素是由表达式 a[i][j] =a[i-1][j-1] + a[i-1][j] 计算出来。因为要使用上面的数据,这样我们想到了用二维数组进行数据的存储。代码如下:

  #include <stdio.h>

  #define N 10

  int main(int argc, int *argv[])

  {

  int i,j;

  int a[N][N] = {0};

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

  {

  a[i][0] = 1;

  printf("%3D ",a[i][0]);

  for (j = 1; j <= i; j++)

  {

  if (i == j)

  {

  a[i][j] = 1;

  }

  else

  {

  a[i][j]= a[i-1][j-1] + a[i-1][j];

  }

  printf("%3d ",a[i][j]);

  }

  printf("\n");

  }

  system("pause");

  return 0;

  }

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:9145908@qq.com
多特网友 2013-09-03 11:11:16 回复
楼主没有做老师的天赋啊,喜欢把简单的东西复杂化。
多特网友 2013-08-14 19:48:16 回复
宏定义啊,缩行对齐%3d,其实,for(i=1;i<=n;i++),a[i][i]=a[i][1]=i;(楼主太繁琐)。 在对列j来个for循环。再定义一个变量k控制空格,这样利用二维数组搞定了。
多特网友 2013-08-14 19:40:12 回复
##int main(int argc, int *argv[])就是main(),太乱了。杨辉三角:1.是个等腰三角形,左右两边都为1,2.行数=每行的个数。3.下一行的某个值=上一行的相邻两个数的和。4.高中的排列组合。for循环搞定##
多特网友 2013-08-14 19:33:49 回复
这是在Linux上的C开发吗
多特网友 2013-07-28 10:58:38 回复
入门一开始就给一大堆看不懂的代码,,,,从头开始  好不好啊
多特网友 2013-09-03 11:11:16 回复
楼主没有做老师的天赋啊,喜欢把简单的东西复杂化。
多特网友 2013-08-14 19:48:16 回复
宏定义啊,缩行对齐%3d,其实,for(i=1;i<=n;i++),a[i][i]=a[i][1]=i;(楼主太繁琐)。 在对列j来个for循环。再定义一个变量k控制空格,这样利用二维数组搞定了。
多特网友 2013-01-30 21:38:19 回复
入门啊!这是我见过最难理解的入门
多特网友 2013-07-28 10:58:38 回复
入门一开始就给一大堆看不懂的代码,,,,从头开始  好不好啊
多特网友 2012-07-20 15:02:37 回复
不懂......