用c语言编写程序 输出杨辉三角
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用c语言编写程序 输出杨辉三角相关的知识,希望对你有一定的参考价值。
程序:
#include<stdio.h>
int main()
int n,i,j,a[100];
n=10;
printf(" 1");
printf("\\n");
a[1]=a[2]=1;
printf("%3d%3d\\n",a[1],a[2]);
for(i=3;i<=n;i++)
a[1]=a[i]=1;
for(j=i-1;j>1;j--)
a[j]=a[j]+a[j-1];
for(j=1;j<=i;j++)
printf("%3d",a[j]);
printf("\\n");
return 0;
应用
与杨辉三角联系最紧密的是二项式乘方展开式的系数规律,即二项式定理。例如在杨辉三角中,第3行的三个数恰好对应着两数和的平方的展开式的每一项的系数(性质 8),第4行的四个数恰好依次对应两数和的立方的展开式的每一项的系数。
以上内容参考:百度百科-杨辉三角
参考技术A#include<stdio.h>
void main()
int i,j;
int a[10][10];
for(i=0;i<10;i++)
a[i][0]=1;
for(j=1;j<10;j++)
a[0][j]=0;
for(i=1;i<10;i++)
for(j=1;j<10;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
if(j==i)printf("\\n\\n");
希望可以帮到你!望采纳!
本回答被提问者和网友采纳 参考技术B #include<stdio.h>int main() int i,j; int a[10][10]; printf("\n"); for(i=0;i<10;i++) a[i][0]=1; a[i][i]=1; for(i=2;i<10;i++) for(j=1;j<i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=9;i>=0;i--) for(j=0;j<=i;j++) printf("%5d",a[i][j]); printf("\n"); return 0;希望能解决您的问题。追问
很多错勒
用c语言输出杨辉三角
C语言实现输出n层杨辉三角,注意n>34时会导致长整型溢出,参考代码如下:
#include<stdio.h>int main()
int i,j,n;
long a[34]=1;
scanf("%d",&n);
if(n>34)return 1;
for(i=0;i<n;i++)
for(j=i;j>0;j--)
a[j]=a[j]+a[j-1];
for(j=0;j<=i;j++)
printf("%ld ",a[j]);
printf("\\n");
return 0;
追答
#define N 22
int main()
int a[N][N]; //定义二维数组
int i, j,n=0;
while(n<=0||n>21)
/*控制打印的行数不要太大,过大会造成显示不规范*/
printf("请输入要打印的行数:");
scanf("%d",&n);
printf("%d行杨辉三角如下:\n",n);
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 + 1; j++)
printf("%-6d ", a[i][j]);
printf("\n");
参考技术B #include<stdio.h>
int i,j,n,a[30]=1;
scanf("%d",&n);
for(i=0;i<=n;i++)
for(j=i;j>0;j--)
a[j]+=a[j-1];
for(j=0;j<=i;j++)
printf("%4d",a[j]);
printf("\n");
return 0;
以上是关于用c语言编写程序 输出杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章