用C语言编写5行`杨辉三角~~急````

作者&投稿:调范 (若有异议请与网页底部的电邮联系)
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++){
for(j=0;j<=i;j++){printf("%5d",a[i][j]);}
printf("
");}return 0;}

扩展资料:
杨辉三角概述:
1.每个数等于它上方两数之和。
2.每行数字左右对称,由1开始逐渐变大。
3.第n行的数字有n+1项。
4.第n行数字和为2n。
5.第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
6.第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。
7.每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。
8.(a+b)n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。
9.将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第4n+1个斐波那契数;将第2n行第2个数(n>1),跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。
10将各行数字相排列,可得11的n-1(n为行数)次方:1=11^0; 11=11^1; 121=11^2……当n>5时会不符合这一条性质,此时应把第n行的最右面的数字"1"放在个位,然后把左面的一个数字的个位对齐到十位。
以此类推,把空位用“0”补齐,然后把所有的数加起来,得到的数正好是11的n-1次方。以n=11为例,第十一行的数为:1,10,45,120,210,252,210,120,45,10,1,结果为 25937424601=1110。
参考资料:杨辉三角-百度百科

#include
int main()
{
int a[10][10];
int i,j;
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]+a[i-1][j-1];
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("
");
}
return 0;
}

#include "stdlib.h"

//声明队列类型
typedef struct node
{
int data[21];
int head,rear;
}sequeue;

int num;//杨辉三角的层数

//队列的初始化
void initial(sequeue *sq)
{
sq->head=-1;
sq->rear=-1;
}

//进队操作
void ensequeue (sequeue *sq,int data1,int data2)
{
sq->rear++;
sq->data[sq->rear]=data1+data2;
}

//出队操作
int desequeue(sequeue *sq)
{
return sq->data[++sq->head];
}

//求扬辉三角的第n行,将其存入队列sq2指向的结点中
sequeue * fun(int n,sequeue *sq1)
{
int data1,data2=0,i;
sequeue *sq2;

sq2=(sequeue *)malloc(sizeof(sequeue));
initial(sq2);

//输出每行前的空格以形成三角格式
for (i=0;i<num-n;i++)
printf(" ");

//输出存储在队列中的某行元素,并计算下一行数
while(sq1->head!=sq1->rear)
{
data1=desequeue(sq1);

//处理两树之间的间隔距离
if (data1<10) printf(" %d",data1);
else if (data1<100) printf(" %d",data1);
else if (data1<1000) printf(" %d",data1);
else printf(" %d",data1);

ensequeue(sq2,data1,data2);
data2=data1;
}
sq2->data[++sq2->rear]=1;
printf("\n");
free(sq1);
return sq2;
}

int main(int argc,char *argv[])
{
int i;
sequeue *sq=(sequeue *)malloc (sizeof(sequeue));
initial(sq);
sq->rear++;
sq->data[sq->rear]=1; //将第一行存入队列中,第一行只有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;
}

#include<stdio.h>
#define N 5

main()
{ int i,j,k,a[N][N];
for(i=0;i<N;i++)
{ a[i][0]=a[i][i]=1;
if(i>1)
{ for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i<N;i++)
{ for(k=0;k<=N-i;k++)
printf(" ");
for(j=0;j<=i;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}


C语言编写程序求5行5列矩阵的上三角元素之积。
void fun (char s[][5]);int main(){ char s[5][5];int i,j;printf("请输入5行5列的矩阵:");for(i=0;i<5;i++)for(j=0;j<5;j++){ scanf("%d",&s[i][j]);} fun(s);system("pause");} void fun (char s[][5]){ long int sum=1, i,j;for(i=0;i<5;i...

C语言~输入5行4列的整型二维数组,按每行的和值从小到大排序后输出调整后...
include <stdio.h>#define M 5 \/\/行数#define N 4 \/\/列数int sum(int x[], int n)\/\/求一个行向量之和{ int result = 0; while(n--) result += x[n]; return result;}void change(int x[], int y[], int n)\/\/交换两个行向量{ int temp; while(n--...

C语言编写
include <stdio.h>int main(){int i=5,j=5;for(j=1;j<=5;j++){for(i=5;i>=j;i--)printf("*");printf("\\n");}return 0;} 求采纳!

怎么用c语言中的二维数组编写一个5行5列数组,从键盘上随机输入数据,实...
怎么用c语言中的二维数组编写一个5行5列数组,从键盘上随机输入数据,实  我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚美容 情感心理 汽车 生活 职业 母婴 三农 互联网 生产制造 其他 日报 日报精选 ...

有个c语言编程题,求每行星星数,5行,5列,第1行一颗星,第2行三颗星,第3...
include<stdio.h>int main(){ printf("*\\n"); printf("***\\n"); printf("***\\n"); printf("***\\n"); printf("*\\n");}如果没有特殊要求 这是最直接的

c语言::输入5行6列的数组,将每一行的所有元素都除以该行上绝对值最大...
\/\/开始帮你写了一个,维数N,M可以自己输入 include<stdio.h> include <stdlib.h> void main(){ float **data,max;int i,j,N,M;scanf("%d%d",&N,&M);data=(float**)malloc(sizeof(float)*N*M);for(i=0;i<N;i++)data[i]=(float*)malloc(sizeof(float)*M);for(i=0;i<N...

c语言:输出一个5行6列的数组,其数据是1到100的真随机值,求该数组每行...
MAX)+1)*100;} } \/\/输出序列 for(i=0;i<5;i++){ max=0;printf("%lf ",d[i][0]);for(j=1;j<6;j++){ if(d[i][j]>d[i][max]){ max=j;} printf("%lf ",d[i][j]);} printf("\\n该行元素最大值%lf,数组中下标:%d,%d。\\n",d[i][max],i,max);} } ...

c语言 输入矩阵a(5行5列)
涉及到除法,最好用float,不用 int.in,out 没问题。改正deal_1 的下标:void deal_1 (int a[5][5]){ int b[5];int i;for(i=0;i<5;i++) { b[i]=a[1][i];a[1][i]=a[4][i];a[4][i]=b[i];};} 完善你的 deal_2:void deal_2(int a[5][5]){ int i,j...

C语言 怎么写出5X5行的数组 要求如下?
通过对角线元素下标关系,可以获得所有对角线元素地址,并存放在指针数组中返回。通过元素地址与首地址差值及列数运算得其位置。注意:最大值存在多个相同元素,只返回找到的第一个元素位置。25个元素我直接用随机数填充数组,你需要手动输入,在我标注的地方写scanf语句。在输出所有对角线元素那里,中心元素...

C语言 1、由程序随机产生一个5行7列的二维数组A并显示 ,分别去除每...
include "stdio.h"#include "stdlib.h"#include "time.h"int main(void){ int a[5][7],i,j; double b[5],min; srand((unsigned)time(NULL)); for(i=0;i<5;i++){ for(j=0;j<7;printf("%6d",a[i][j++]=rand())); printf("\\n"); } printf(...

仪陇县18958435166: 用C语言编写5行`杨辉三角~~急````
阿何欧车: #include "stdlib.h" //声明队列类型 typedef struct node { int data[21]; int head,rear; }sequeue; int num;//杨辉三角的层数 //队列的初始化 void initial(sequeue *sq) { sq->head=-1; sq->rear=-1; } //进队操作 void ensequeue (sequeue *sq,int data1,int...

仪陇县18958435166: 怎样用c语言for循环编出杨辉三角 -
阿何欧车: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19#include <stdio.h> intmain(void) { longi,j,n,k; printf("杨辉三角:\n请输入行号,回车:"); scanf("%ld",&n); for(i=1;i<=n;i++) { k=1; for(j=1;j<i;j++)//从第2行开始才进入该循环 { printf("%ld ",...

仪陇县18958435166: C语言杨辉三角的程序 -
阿何欧车: #include<stdio.h> main(){ int a[10][10],i,j,k; /*k是用来控制缩进长度的*/ for(i=0;i<10;i++){for(j=0;j<=i;j++){if(j==0||j==i){a[i][j]=1;} else{a[i][j]=a[i-1][j-1]+a[i-1][j];}} }for(i=0;i<10;i++){for(k=1;k<=(10-i);++k)printf(" ");/*有三个空格,根据后面输...

仪陇县18958435166: 杨辉三角的c语言程序怎么编写,谢谢~ -
阿何欧车: #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];/*每个数...

仪陇县18958435166: 用c语言如何编写杨辉三角 -
阿何欧车: main() {int a[10][10];int i,j;a[0][0]=1;for(i=0;i<10;i++){for(j=0;j<=i;j++){if(j==0) a[i][j]=1;else if(i==j) a[i][j]=1;else a[i][j]=a[i-1][j-1]+a[i-1][j];printf("%5d",a[i][j]);}printf("\n");} } 这个是十行的,要其它行的自己把10改成其它数字就可以!

仪陇县18958435166: 杨辉三角用C程序怎么编写(不用数组,只用for循环) -
阿何欧车: #include <stdio.h> int Yh(int x,int y) //取在x行y列的 { int z; if((y==1)||(y==x+1)) return 1; z=Yh(x-1,y-1)+Yh(x-1,y); return z; } main(){ int i,j; for(i=0;i<=4;i++) { for(j=1;j<i+2;j++) printf("%d",Yh(i,j)); //输出第i行j列的值 printf("\n"); } return 0; }

仪陇县18958435166: c语言,谁能编写一个程序,输出杨辉三角形? -
阿何欧车: //#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h" void main(void){ int i, j, a[9]={0,1,}; for(a[1]=i=1;i printf("%*c",(8-i)*2+1,' '); for(j=i;j>=1;j--) printf("%4d",a[j]=a[j-1]+a[j]); printf("\n"); } }

仪陇县18958435166: 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++){ for(j=0;j<=i;j++){printf("%5...

仪陇县18958435166: 怎么用C语言编写杨辉三角 -
阿何欧车: 先定义一个二维数组: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].最后输出杨辉三角.代码...

仪陇县18958435166: 用C语言编写一个杨辉三角的程序 -
阿何欧车:main(){int i,j;int xx [ ] [10]= {0,1}; 定义一个二维数组for (i=1;i<10; i++){ for ( j=1;j<10;j++){xx[i][j]=xx[i-1][j]+xx[i][j-1];printf ("%d",xx[i][j]);}printf ("\n");}

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网