//设定杨辉三角的行数N
#define N 10
int main()
{
int i, j
int a[N][N]
printf("\n")
//令两斜边的所有数值为1
for (i = 0i <Ni++)
{
a[i][0] = 1
a[i][i] = 1
}
//令杨辉三角内部的数值等于其两肩数字之和
for (i = 2i <Ni++)
for (j = 1j <ij++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j]
for (i = 0i <Ni++)
{
for (j = 0j <= ij++)
printf("%5d", a[i][j])
printf("\n")
}
}
下面第一个是编写杨辉三角的程序(可以通过改变N的大小得到不同大小的三角形)
第二个程序是输出某一行某一列的数字。
#include<stdio.h>
#define N 10
int main()
{
int a[N][N]
int i,j,k
for(i=0i<Ni++)
{
for(k=0k<N-ik++)
printf(" ")
for(j=0j<ij++)
{
if(j==0||j==i-1)
a[i][j]=1
else
a[i][j]=a[i-1][j-1]+a[i-1][j]
printf("%4d",a[i][j])
}
printf("\n")
}
return 0
}
#include<stdio.h>
int Pascal(int row,int col)
{
if(col==1||col==row)
return 1
else
return Pascal(row-1,col-1)+Pascal(row-1,col)
}
int main()
{
int row,col
scanf("%d %d",&row,&col)
printf("%d\n",Pascal(row,col))
return 0
}