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

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

  打印出以下的杨辉三角形(要求打印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;

  }

发表评论

最新评论(共13条)

2345市网友

楼主没有做老师的天赋啊,喜欢把简单的东西复杂化。

2013-09-03 4

回复@2345网友:

  • 取消

2345市网友

宏定义啊,缩行对齐%3d,其实,for(i=1;i<=n;i++),a[i][i]=a[i][1]=i;(楼主太繁琐)。 在对列j来个for循环。再定义一个变量k控制空格,这样利用二维数组搞定了。

2013-08-14 4

回复@2345网友:

  • 取消

2345市网友

##int main(int argc, int *argv[])就是main(),太乱了。杨辉三角:1.是个等腰三角形,左右两边都为1,2.行数=每行的个数。3.下一行的某个值=上一行的相邻两个数的和。4.高中的排列组合。for循环搞定##

2013-08-14 1

回复@2345网友:

  • 取消

2345市网友

这是在Linux上的C开发吗

2013-08-14 1

回复@2345网友:

  • 取消

2345市网友

入门一开始就给一大堆看不懂的代码,,,,从头开始  好不好啊

2013-07-28 3

回复@2345网友:

  • 取消