今天上了C#的课,课堂上又出现了那个杨辉三角,以前是看过了,是很简单,但记不起。
现在把它抄在这里,怕以后人家面试我时不会答。
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace YangHuiTriangle
6
{
7
class Program
8
{
9
static void Main(string[] args)
10
{
11
const int M = 7;//定义一个常量M用来行数
12
int[][] yhsj = new int[M][];//该数组用来存放杨辉三角
13
int i, j;
14
for (i = 0; i < M; i++) //该循环为每行分配存储空间
15
yhsj[i] = new int[i + 1];
16
for (i = 0; i < M; i++)//首列和对角线赋值1
17
{
18
yhsj[i][0] = 1;
19
yhsj[i][i] = 1;
20
}
21
for (i = 2; i < M; i++)
22
for (j = 1; j < i; j++)
23
//其它元素是前一行的前一列和前一行的当前列的和
24
yhsj[i][j] = yhsj[i - 1][j - 1] + yhsj[i - 1][j];
25
for (i = 0; i < M; i++)
26
{
27
Console.WriteLine();//换行
28
for (j = 0; j <= i; j++)
29
Console.Write("{0} ", yhsj[i][j]);
30
}/*此循环用来输出杨辉三角*/
31
Console.Read();
32
}
33
}
34
}
35
using System;2
using System.Collections.Generic;3
using System.Text;4

5
namespace YangHuiTriangle 6
{7
class Program8
{9
static void Main(string[] args)10
{11
const int M = 7;//定义一个常量M用来行数12
int[][] yhsj = new int[M][];//该数组用来存放杨辉三角13
int i, j;14
for (i = 0; i < M; i++) //该循环为每行分配存储空间15
yhsj[i] = new int[i + 1];16
for (i = 0; i < M; i++)//首列和对角线赋值117
{18
yhsj[i][0] = 1;19
yhsj[i][i] = 1;20
}21
for (i = 2; i < M; i++)22
for (j = 1; j < i; j++)23
//其它元素是前一行的前一列和前一行的当前列的和24
yhsj[i][j] = yhsj[i - 1][j - 1] + yhsj[i - 1][j];25
for (i = 0; i < M; i++)26
{27
Console.WriteLine();//换行28
for (j = 0; j <= i; j++)29
Console.Write("{0} ", yhsj[i][j]);30
}/*此循环用来输出杨辉三角*/31
Console.Read();32
}33
}34
}35


