A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许本亮 中级黑马   /  2015-11-4 19:17  /  1066 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C语言学习的时候,看到一课后习题,输出杨辉三角,知道应该用循环能实现,不够逻辑好像有点复杂,有木有大神指点下~~~谢谢!

3 个回复

倒序浏览
//其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,
//它的特点是左右两边全是1,从第二行起,
//中间的每一个数是上一行里相邻两个数之和。
using System;
class Test
{
       public static void Main()
       {
              int[,] a = new int[5,5];
              a[0,0] = 1;
              for(int i=1;i<=5;i++)
              {
                      a[i,0] = 1;
                      a[i, i] = 1;
                      for(int j = 1;j<i;j++)
                      {
                              a[i,j]=a[i-1,j-1] + a[i-1,j];
                      }
               }
               for(int i=0;i<5;i++)
               {
                        for(int j=0;j<i;j++)
                       {
                              Console.WriteLine("{0}",a[i][j]);
                       }

                 Console.WriteLine();
               }
      }
}
*********************程序运行结果**********************
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
******************************************************

//还可以求整数阶乘为例,代码还可以这样写:
//for(long y=1;x>0;x--)
//   y*=x;
//同样,可以用break和continue语句,
//来和循环判断符合语句中的逻辑表达式来配合使用,
//达到控制循环的目的。


回复 使用道具 举报
许庭洲 发表于 2015-11-5 15:33
//其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,
//它的特点是左右两边全是1,从第二行起,
/ ...

大神您好:Console.WriteLine("{0}",a[j]);这句没看懂,能不能给注释一下,谢谢
回复 使用道具 举报
本帖最后由 许庭洲 于 2015-11-5 16:13 编辑
许本亮 发表于 2015-11-5 16:03
大神您好:Console.WriteLine("{0}",a[j]);这句没看懂,能不能给注释一下,谢谢

按行输出每列数组中的元素
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马