用c语言编写,输出杨辉三角形

如题所述

//a[21]就是告诉你只能存21个数据,也就是说你最多输出20行,再多就不行了!
#include <stdio.h>
void main()
{
int a[21],i,j,n ;
scanf("%d",&n);
printf("\n");
a[0]=1 ;
for(i=0;i<=n;i++) //n用来控制要输出的杨辉三角的行数
{
for(j=1;j<=40-3*i;j++) //第i行前面的空格个数为40 - 3*i,为了显示更加美观而已
printf(" ");
for(j=0;j<=i;j++) //用来输出第i行的i + 1个元素,注意第0行只有一个元素1
printf("%6d",a[j]);
a[i+1]=1 ;
for(j=i;j>=1;j--)
a[j]=a[j-1]+a[j]; //从后向前计算下一行的除了a[0]外的每个元素的数值还放在a[]数组中
printf("\n");

操作:

$ ./a.out (windows下是a.exe linux下是a.exe)
5 (输入5表示输出5级 依次类推)

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言程序杨辉三角
在C语言中,杨辉三角是一个经典的动态数组应用实例。如果你之前使用的是固定长度的栈区数组,现在需要转换成动态数组来实现。以下是相应的代码段:以下是使用动态数组实现杨辉三角的C语言代码:void main() { int* a = malloc(sizeof(int) * 10); \/\/ 动态分配数组内存 a[0] = 1; \/\/ 初始化...

用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...

C语言,输出杨辉三角
修改:#include"stdio.h" void main(){int a[10][10],i,j;for(i=0;i<=9;i++){ a[i][0]=1;\/\/原代码此处需修改,第一位数为1 a[i][i]=1;}for(i=1;i=9;i++)for(j=1;j<i;j++)\/\/原代码此处需修改 a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<=9;i...

C语言编程输出杨辉三角形(要求输出10行)?
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",...

C语言 四种方法输出杨辉三角前n项(1<n<20)
输出杨辉三角的代码如下:#includevoidmain(){inti,j;inta[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

用C语言编写5行`杨辉三角~~急```
\/\/将第一行存入队列中,第一行只有1一个元素 printf("please put in a integer number(no more then 15)!\\n\\t");scanf("%d",&num);\/\/fun()函数实现输出一行元素并计算出下一行各个元素,经过num次调用fun函数输出num层杨辉三角 for (i=0;i<num;i++)sq=fun(i,sq);return 0;} ...

c语言问题,求杨辉三角
在探讨如何使用C语言实现杨辉三角时,我们可以先明确其定义。杨辉三角是一个等腰三角形排列的数字数组,每一行的数字都与组合数紧密相关。以二维数组的方式进行实现,每一项都等于上一行的左边和中间的两个数的和。具体实现代码如下:我们定义一个二维数组`a[100][100]`来存储杨辉三角的每一项。接下来,...

如何用c语言实现打印杨辉三角形
1、首先打开vs2014,新建一个项目。2、新建一个main文件,添加头文件。3、添加main函数。4、接下来选择定义i,j变量。5、定义一个int数组。6、用for循环给数组a赋值。7、用for循环打印杨辉三角。

如何用C语言循环输出杨辉三角?
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]; \/*除两边的数外...

C语言中怎么写杨辉三角啊?
杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。这是杨辉三角:代码如下:include <stdio.h> include <stdlib.h> const int length = 10; \/\/ 定义杨辉三角的大小 int main(void){ int nums[length][length];int i, j;\/*...

相似回答