当前位置:首页 » 编程语言 » c语言杨辉三角前十行

c语言杨辉三角前十行

发布时间: 2022-04-22 02:22:00

❶ C语言:利用二维数组输出杨辉三角的前10行程序是怎样的

#include "stdio.h"
void yhsj(int x) //输出杨辉三角
{
int b,i,j;
int a[x][x];
for (j=0;j<x;j++)
for (i=0;i<x;i++)
a[j][i]=1;

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

a[j+1][i+1]=a[j][i]+a[j][i+1]; //把上行的相邻两个数的和放在下一行*/

}
for (j=0;j<x;j++)
for (i=0;i<=j;i++)
{
printf("%-5d",a[j][i]) ;
if (i==j)
printf("\n");
}
}
void main()
{
int x;
do
{
printf("\n");
scanf("%d",&x);
if(x>16)
break;
yhsj(x);
}
while(x<17) ;
printf("错误\n");
}

c语言初级问题,输出杨辉三角前10行

有逻辑错误if(j==0&&i==j) a[i][j]=1;
这句应该是是边缘的为1;但是上面那句每行只对右边的赋值1;
还有这句a[i][j]=a[i-1][j-1]+a[i-1][j];
如果是第一行杨辉三角只有一个1;;而这句却赋了十个值,,越界了
下面是改过的代码
#include<stdio.h>
int main()
{
int i,j,a[10][10];
for( i=0; i<10; i++)
for( j=0; j<i; j++)
if(j==0||i-1==j) a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
for( i=0; i<10; i++){
for(int k=0;k<=(10-i);k++)
printf(" ");
for( j=0; j<i; j++)
printf("%3d",a[i][j]);
printf("\n");
}
getchar();
getchar();
return 0;
}

❸ 用C语言编写杨辉三角形的前十行

#include<stdio.h>
void fun(int a[][34],int n)
{
int i,j;

for(i=0;i<n;i++)
for(j=0;j<=i;j++)
{
if(i==j)
a[i][j]=1;
else if(j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
int main()
{
int i,j,k,n;
int a[34][34];
k=1;
while(scanf("%d",&n)==1) // 输入你要显示的行数,如1,2,3,4,...
{
fun(a,n);

printf("Case %d:\n",k++);

for(i=0;i<n;i++)
{
for (j = 0; j < n - i; j ++)
printf(" ");
for(j=0;j<=i;j++)
{
if(j==i)
printf("%d",a[i][j]);
else
printf("%d ",a[i][j]);
}
printf("\n");
}
printf("\n");
}
return 0;
}

❹ c语言输出杨辉三角形(10行)

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a[11][11]={{1},{1,1},{1},{1},{1},{1},{1},{1},{1},{1}},i,j,k,z=1,x=1,c=1;
for(i=2;i<10;i++)
{
for(j=1;j<=i;j++)
{
//用下面的方法计算的乘积很容易超出整数的表达范围
//for(k=1;k<=j;k++)
// z=z*k;
//for(k=1;k<=i;k++)
// x=x*k;
//for(k=1;k<=(i-j);k++)
// c=c*k;
//a[i][j]=z/(x*c);
if (i==j)
a[i][j]=1;
else
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]);
printf("\n");
}
return 0;
}

❺ C语言初学者 关于输出前十行杨辉三角

你加了很多多余的括号,把你自己弄糊涂了吧,哈
printf输出x1/x2的位置不对,应该放在最里面的循环里
我把主循环体给你稍微改了一下就好了
for(m=1;
m<=10;
m++)
{
for(n=0;
n<=m;
n++)
{
if(n==m||n==0)
x2=f1(m);
else
x2=f2(m,n);
x1=f1(m);
printf("%3d",
x1/x2);
}
printf("\n");
}
两个计算阶乘的函数都没问题

❻ 输出以下的杨辉三角(要求输出10行) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 等等等等

1、首先处理整个大框,定义一个8行8列的二维数组。

❼ C语言编程输出杨辉三角的前几行

我给你下面的代码,你可以通过修改程序前面的宏N的定义来使程序输出指定行数的杨辉三角的前N行。
#include
<stdio.h>
#define
N
6
main()
{
int
i,j;
int
a[N][N];
printf("\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];
}
}
printf("Yang
Hui
Triangle\n");
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}
}
/////////////////////////////////
程序运行结果如下:
Yang
Hui
Triangle
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
1
5
10
10
5
1
Press
any
key
to
continue
/////////////////////////////////

❽ c语言以直角三角形形式打出杨辉三角前十行

10层的杨辉三角形的第10层是10个数。声明一个12元素的int型数组,前两个元素初始化为0、1,其余全置0。计算数据时从后向前算,利用元素的0值可以获得每行首值计算上的方便,使代码简单精巧。代码如下:

#include"stdio.h"
intmain(intargc,char*argv[]){
inti,j,a[12]={0,1,};//a[0]==0,a[1]==1,其余为0
printf("Yanghuitriangle10layer: ");
for(i=1;i<=10;i++){//控制10行
for(j=i;j>=1;j--)//每行从后向前算
printf("%4d",*(a+j)+=*(a+j-1));//当前值是自身与前一项的和
printf(" ");
}
return0;
}

运行结果如下:

❾ c语言输出杨辉三角的前十行

对杨辉三角的理解有点问题。
#include <stdio.h>
int main()
#define m 10
#define n 10
{
int i,j;
int yang[m][n];
for( i = 0 ; i <= m ; i++ )
{
for( j = 0 ; j <= n ; j++ )
{
if( i == j || j == 0 )
/*这个判断条件不对,杨辉三角是每一行的第一个与最后一个是1,除了最上面一列,其他的都不是第n行的第n列是1,而是第n行第n+1列是1。应该改成if(j==0||j=i+1)*/
yang[i][j] = 1;
else
yang[i][j] = yang[i-1][j-1] + yang[i-1][j];
printf("%5d ", yang[i][j]);
}
if( j == i )
printf("\n");
}
return 0;
}

❿ C语言编程输出杨辉三角形(要求输出10行)

#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;

}

(10)c语言杨辉三角前十行扩展阅读:

c语言需要说明的是:

1.一个C语言源程序可以由一个或多个源文件组成。

2.每个源文件可由一个或多个函数组成。

3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4.源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

网络-c语言

热点内容
cf弹道脚本 发布:2025-01-26 15:36:40 浏览:54
我的世界花钱买的服务器 发布:2025-01-26 15:34:50 浏览:89
php环境部署 发布:2025-01-26 15:28:09 浏览:17
python实现svm 发布:2025-01-26 15:24:25 浏览:381
易语言写ip全局代理服务器 发布:2025-01-26 15:04:01 浏览:668
gm命令在哪个文件夹 发布:2025-01-26 15:03:12 浏览:307
javadate类 发布:2025-01-26 14:58:54 浏览:352
领航s1配置怎么样 发布:2025-01-26 09:58:10 浏览:763
公司局域网搭建服务器搭建 发布:2025-01-26 09:16:56 浏览:433
android裁剪圆形图片 发布:2025-01-26 09:05:56 浏览:411