C语言中怎么写杨辉三角啊?

 我来答
半清醒丶不言语
推荐于2019-10-09 · TA获得超过1715个赞
知道答主
回答量:37
采纳率:100%
帮助的人:1.7万
展开全部

杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。

这是杨辉三角:

代码如下:

#include <stdio.h>

#include <stdlib.h>

const int length = 10;  // 定义杨辉三角的大小

int main(void)
{    

int nums[length][length];  

int i, j;   

/*计算杨辉三角*/
  

for(i=0; i<length; i++)
   {    

nums[i][0] = 1;   

nums[i][i] = 1; 

for(j=1; j<i; j++)
   

nums[i][j] = nums[i-1][j-1] + nums[i-1][j];
 

}  

/*打印输出*/
 

for(i=0; i<length; i++)
   { 

for(j=0; j<length-i-1; j++)    

printf("   ");    

for(j=0; j<=i; j++)     

printf("%-5d ", nums[i][j]);  

putchar('\n');
 

}
 

getchar();// 暂停 

return EXIT_SUCCESS; 

}

帐号已注销
推荐于2019-09-24 · TA获得超过4404个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:99.7万
展开全部

问题本质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。

#include <stdio.h>

main()

{ int i,j,n=0,a[17][17]={0};

while(n<1 || n>16)

{ printf("请输入杨辉三角形的行数:");

scanf("%d",&n);

}

for(i=0;i<n;i++)

a[i][0]=1; /*第一列全置为一*/

for(i=1;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");

}

}

杨辉三角室程序设计基本问题,还请题主好好学习哦

程序输出结果

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1024程序员
2020-11-25 · TA获得超过374个赞
知道答主
回答量:457
采纳率:0%
帮助的人:23.2万
展开全部

C语言经典例子之打印杨辉三角形

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友690f78
2020-07-28
知道答主
回答量:26
采纳率:0%
帮助的人:2.3万
展开全部
代码如下:
#include<stdio.h>
int main(void){
int n,s[50],x,y;
scanf("%d",&n);
for(y=0;y<n;y+=1){
for(x=0;x<=y;x+=1){
if(x==0||x==y){
s[x][y]=1;
}else{
s[x][y]=s[x-1][y-1]+s[x][y-1];
}
}
}
for(y=0;y<n;y+=1){
for(x=0;x<=y;x+=1){
printf("%d ",s[x][y]);
}
printf("\n");
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
家有八亩田
推荐于2018-02-26 · TA获得超过5249个赞
知道大有可为答主
回答量:1737
采纳率:100%
帮助的人:649万
展开全部
#include <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0};
while(n<1 || n>16)
{ printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
}
for(i=0;i<n;i++)
a[i][0]=1; /*第一列全置为一*/
for(i=1;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");
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式