您的位置:首页 > 编程语言 > C语言/C++

C语言用一位数组和二维数组打印杨辉三角

2014-05-27 21:29 399 查看
C语言用一位数组和二维数组打印杨辉三角
#include<stdio.h> /*用一维数组和二维数组打印杨辉三角*/
#define N 100
#define M 10

void one_dim_array(int *a,int num) //用一维数组打印
{
int i,j,k;
printf("%5d\n",a[0]); //先打印出第一行数据
for(i=2;i<=num;i++)
{
for(j=i-1;j>0;j--)
a[j]=a[j]+a[j-1]; //每次从右向左计算每行的数据

for(k=0;k<i;k++) //打印每行的数据
printf("%5d",a[k]);
printf("\n");
}
}

int main()
{
int arr
={1,0}; //此处定义一个一维数组,首项为1,其他项为0
int a[M][M];
int n;
int i,j;
printf("Input the lines: ");
scanf("%d",&n);
printf("using one_dim_array:\n");
one_dim_array(arr,n);

printf("using double_dim_array:\n");
for(i=0;i<M;i++)
{
a[i][0]=1;
a[i][i]=1;
}

for(i=2;i<M;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<M;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}

Linux下的运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐