当前位置:首页 » 编程语言 » 等腰杨辉三角c语言程序

等腰杨辉三角c语言程序

发布时间: 2022-10-08 12:55:52

1. c语言的杨辉三角程序

c语言的杨辉三角程序如下:

#include<stdio.h>

#include<stdlib.h>

intmain()

{

ints=1,h;//数值和高度

inti,j;//循环计数

scanf("%d",&h);//输入层数

printf("1 ");//输出第一个1

for(i=2;i<=h;s=1,i++)//行数i从2到层高

{

printf("1");//第一个1

for(j=1;j<=i-2;j++)//列位置j绕过第一个直接开始循环

//printf("%d",(s=(i-j)/j*s));

printf("%d",(s=(i-j)*s/j));

printf("1 ");//最后一个1,换行}

getchar();//暂停等待

return0;

}

(1)等腰杨辉三角c语言程序扩展阅读:

杨辉三角概述

前提:每行端点与结尾的数为1.

  • 每个数等于它上方两数之和。

  • 每行数字左右对称,由1开始逐渐变大。

  • 第n行的数字有n项。

  • 第n行数字和为2n。

  • 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。

  • 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。

  • 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

  • (a+b)n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。

  • 将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第4n+1个斐波那契数;将第2n行第2个数(n>1),跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。

2. 用c语言编写程序 输出杨辉三角

程序:

#include<stdio.h>

int main()

int n,i,j,a[100];

n=10;

printf(" 1");

printf(" ");

a[1]=a[2]=1;

printf("%3d%3d ",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(" ");

}

return 0;

}

应用

与杨辉三角联系最紧密的是二项式乘方展开式的系数规律,即二项式定理。例如在杨辉三角中,第3行的三个数恰好对应着两数和的平方的展开式的每一项的系数(性质 8),第4行的四个数恰好依次对应两数和的立方的展开式的每一项的系数。

以上内容参考:网络-杨辉三角

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

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

这是杨辉三角:

代码如下:

#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(' ');

}

getchar();// 暂停

return EXIT_SUCCESS;

}

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

#include <stdio.h>
//设定杨辉三角的行数N
#define N 10
int main()
{
int i, j;
int a[N][N];
printf("\n");
//令两斜边的所有数值为1
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");
}
}

5. C语言,输出杨辉三角

#include<stdio.h>
#define N 10 //定义常量N,表示输出N行杨辉三角的值
int main()
{
int i,j,a[N][N]={0};
printf("杨辉三角列表规律是每行的第一列和最后一列的值为1,其余的值是例如第n行第m列的值=第n-1行第m列+第n-1行第m-1列\n");
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%d\t",a[i][j]);
}
printf("\n");//输出列表是一个直角三角形

}
return 0;
}

6. 怎样用C语言写出等腰的杨辉三角

#include <stdio.h>
#define N 14
main()
{
int i, j, k, n=0, a[N][N]; /*定义二维数组a[14][14]*/
while(n<=0||n>=13)
{ /*控制打印的行数不要太大,过大会造成显示不规范*/
printf("请输入要打印的行数:");
scanf("%d",&n);
}
printf("%d行杨辉三角如下:\n",n);
for(i=1;i<=n;i++)
a[i][1] = a[i][i] = 1; /*两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数*/
for(i=3;i<=n;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; /*除两边的数外都等于上两顶数之和*/
for(i=1;i<=n;i++)
{
for(k=1;k<=n-i;k++)
printf(" "); /*这一行主要是在输出数之前打上空格占位,让输出的数更美观*/
for(j=1;j<=i;j++) /*j<=i的原因是不输出其它的数,只输出我们想要的数*/
printf("%6d",a[i][j]);
printf("\n"); /*当一行输出完以后换行继续下一行的输出*/
}
printf("\n");
}

7. 用C语言编写杨辉三角形

杨辉三角形是形如
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
的三角形,其实质是二项式(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");
}
}

8. c语言的等腰杨辉三角程序

#include"stdio.h"
main()
{
int a[5][5],i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(j>i)
a[i][j]=1+j-i;
}
}
for(i=0;i<5;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
这是一个求杨辉三角的题,希望你自己能够把它改写成你所要的函数,我相信你一定可以做到的.加油哦!~

9. 怎样用c语言来编写杨辉三角形的递归程序

方法一:用二维数组来编写。
方法二:用自定义函数来编写。
首先,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和。杨辉三角的任意一行都是的二项式系数,n为行数减1。也就是说任何一个数等于这个是高中的组合数。n代表行数减1,不代表列数减1。如:第五行的第三个数就为=6。
先定义一个二维数组:a[N][N],略大于要打印的行数。再令两边的数为1,即当每行的第一个数和最后一个数为1。a[i][0]=a[i][i-1]=1,n为行数。除两边的数外,任何一个数为上两顶数之和,即a[i][j]=a[i-1][j-1]+a[i-1][j]。最后输出杨辉三角。
方法一二维数组代码如下:
#include
<stdio.h>#define
N
14void
main(){ int
i,
j,
k,
n=0,
a[N][N];
/*定义二维数组a[14][14]*/ while(n<=0||n>=13){
/*控制打印的行数不要太大,过大会造成显示不规范*/ printf("请输入要打印的行数:"); scanf("%d",&n); } printf("%d行杨辉三角如下:\n",n); for(i=1;i<=n;i++) a[i][1]
=
a[i][i]
=
1;
/*两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数*/ for(i=3;i<=n;i++) for(j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];
/*除两边的数外都等于上两顶数之和*/ for(i=1;i<=n;i++){ for(k=1;k<=n-i;k++) printf("
");
/*这一行主要是在输出数之前打上空格占位,让输出的数更美观*/ for(j=1;j<=i;j++)
/*j<=i的原因是不输出其它的数,只输出我们想要的数*/ printf("%6d",a[i][j]); printf("\n");
/*当一行输出完以后换行继续下一行的输出*/ } printf("\n");}
方法二:自定义函数代码:
杨辉三角中的任何一个数都等于一个组合数。
#include
<stdio.h>/* *
定义阶乘,在这里可能会想。为什么要用float,当我试第一次的时候, *
如果用int的话,那么在打印行数多了以后就会出错。 *
这是因为阶乘的数比较大,如果用int就不够用了。下同 */float
J(int
i){ int
j; float
k=1; for(j=1;j<=i;j++) k=k*j; return(k);}float
C(int
i,int
j){
/*定义组合数*/ float
k; k=J(j)/(J(i)*J(j-i)); return(k);}void
main(){ int
i=0,j,k,n;
/*打印杨辉三角*/ while(i<=0||i>16){ printf("请输入要打印的行数:"); scanf("%d",&i); } printf("%d行杨辉三角如下:\n",i); for(j=0;j<i;j++){ for(k=1;k<=(i-j);k++) printf("
"); for(n=0;n<=j;n++) printf("%4.0f",C(n,j)); printf("\n"); } printf("\n\n");}

10. C语言: 杨辉三角,请问怎么写

  • #include <stdio.h>

  • #include <stdlib.h>

  • #define ROW 10

  • #define COL 10

  • void tri()

  • {

  • int a[ROW][COL] = { 0 };

  • int i = 0, j = 0;

  • for (i = 0; i < ROW; i++)

  • {

  • a[i][0] = 1;

  • a[i][i] = 1;

  • }

  • for (i = 2; i < ROW; i++)

  • {

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

  • {

  • a[i][j] = a[i - 1][j - 1] + a[i - 1][j];

  • }

  • }

  • for (i = 0; i < ROW; i++)

  • {

  • /*for (j = 0; j <= col*(ROW - i) / 2; j++)

  • {

  • printf(" ");

  • }*/

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

  • {

  • printf("%3d ", a[i][j]);

  • }

  • printf(" ");

  • }

  • }

  • int main()

  • {

  • tri();

  • system("pause");

  • return 0;

热点内容
解压游戏香皂 发布:2024-12-22 16:49:29 浏览:352
新预算法的亮点 发布:2024-12-22 16:36:30 浏览:959
linux命令行快捷键 发布:2024-12-22 16:33:27 浏览:10
淘宝网怎么上传宝贝 发布:2024-12-22 16:30:53 浏览:753
服务器gps是什么意思 发布:2024-12-22 16:10:43 浏览:996
iqoo安卓11变声器在哪里 发布:2024-12-22 15:46:45 浏览:252
ie锁定初始密码在哪里找 发布:2024-12-22 15:44:48 浏览:296
linuxtcp窗口 发布:2024-12-22 15:34:24 浏览:948
安卓官翻机和原装有什么区别 发布:2024-12-22 15:34:24 浏览:662
linux挂载的磁盘 发布:2024-12-22 15:34:23 浏览:234