今天由于时间紧迫我们就介绍一个简单的小程序——杨辉三角形。其实杨辉三角形在C语言基础中算是一个经典的例子。
我刚刚才接触C语言,所以我的水平很有限。我感觉杨辉三角形的主要代码不是a[i][j] = a[i-1][j-1] + a[i-1][j],而是怎么把两边的1打印出来。
所以:
for(i = 0; i < N; i++)
{
a[i][i] = 1;
a[i][0] = 1;
}
这段代码我感觉比较重要。
下面我附上我自己写的代码,可以打印100行以内的杨辉三角形。
#include <stdio.h>
#define N 100
int main()
{
int a[N][N];
int i;
int j;
int n;
printf("input the line(<100) you want to show!\n");
scanf("%d",&n);
while(n > N)
{
printf("WRONG!\n");
exit(0);
}
for(i = 0; i < n; i++)
{
a[i][0] = 1;
a[i][i] = 1;
}
for(i = 2; i < n; i++)
{
for(j = 1; j < i; j++)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
以上就是我的杨辉三角形代码。可能中间有冗余,希望大家能给我更好的建议。
下面我将附上在Linux下运行的结果图: