您的位置 首页 经验分享

杨辉三角c语言程序二维数组(杨辉三角形最简单的C语言)

怎么用C语言编写杨辉三角?

要用C语言编写杨辉三角,首先需要定义一个二维数组来存储三角的数字,并通过循环计算每行每个位置的数字。在循环中需要考虑边界条件和规律的计算方法,可以使用嵌套循环来实现。

可以先将数组中的第一列和对角线上的数字初始化为1,然后通过循环计算其他位置上的数字。

最后,将得到的结果输出到控制台上,即可完成杨辉三角的C语言编写。通过细心的编码和调试,可以得到正确的杨辉三角图形。

用C语言输出杨辉三角?

以下是使用C语言输出杨辉三角的示例代码:

c

#include <stdio.h>

int main() {

int n, i, j;

printf(“请输入要输出的行数:”);

scanf(“%d”, &n);

// 输出杨辉三角

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

// 输出空格

for (j = 0; j < n – i – 1; j++) {

printf(” “);

}

// 输出杨辉三角的每一行

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

if (j == 0 i == 0) {

printf(“%d”, 1);

} else {

printf(“%d”, (int)((double)a[i-1][j-1] * (double)(i-j+1) / (double)j));

}

if (j < i) {

printf(” “);

}

}

printf(“n”);

}

return 0;

}

在上面的代码中,我们首先使用scanf函数从用户那里获取要输出的行数n。

然后,我们使用两个嵌套的for循环来输出杨辉三角。

外部for循环用于控制输出的行数,内部第一个for循环用于输出每一行前面的空格,以确保杨辉三角的形状正确。内部第二个for循环用于输出每一行的元素。

在输出元素时,我们使用了杨辉三角的递推公式,即a[i][j] = a[i-1][j-1] * (i-j+1) / j。如果j或i为0,则元素为。我们还使用了一个if语句来输出元素之间的空格,以确保每一行的元素之间有正确的间距。

最后,我们在每一行的末尾输出一个换行符,以确保下一行输出在新的一行上。

上述代码中没有声明数组a,而是在计算元素时直接使用了递推公式。如果需要重复使用杨辉三角,可以将数组a声明为全局变量或传递给函数,以避免重复计算。

用C语言写的显示杨辉三角形的程序,源代码在这里,哪里错了?

  • #includestdio.hint jiecheng(int);void przhs(int);int main(){int h,j;printf("Pls Input a number: ");scanf("%d",&h);for(j=1;j=h;j++){Przhs(j);printf("n");}return 0;}int jiecheng(int a){if(a==1)return 1;else{a=a*jiecheng(a-1);return a;}}void przhs(int a){int i;for(i=1;i=a;i++)printf("%d ",jiecheng(a)(jiecheng(i)*jiecheng(a-i)));}
  • #includestdio.hint jiecheng(int);void przhs(int);int main(){int h,j;printf("Pls Input a number: ");scanf("%d",&h);printf("1n"); for(j=1;j=h;j++){printf("1 ");przhs(j);printf("1n"); }return 0;}int jiecheng(int a){if(a==1)return 1;else{a=a*jiecheng(a-1);return a;}}void przhs(int a){int i;for(i=1;ia;i++) printf("%d ",jiecheng(a)(jiecheng(i)*jiecheng(a-i)));}

C语言数组程序设计,打印出10行杨辉三角 验证正确一定采纳

  • #include "stdio.h"main(){int a[11][20],i,j;初始化for(i=0;i11;i++)for(j=0;j20;j++)a[i][j]=0;给数组附值for(i=0;i10;i++){for(j=0;j=i;j++){if(j1)a[i][j]=1;开头的第一个数为1else if(i==0)break;elsea[i][j]=a[i-1][j-1]+a[i-1][j];杨辉三角的规律}}输出for(i=0;i10;i++){for(j=0;j&肠哗斑狙职缴办斜暴铆lt;=i;j++)printf("%d ",a[i][j]);printf("n");}}

C语言 杨辉三角 程序在下面,求改错

  • #includestdio.hint main(void){ int i,j; int a[10][10]; for(i=0;i10;i++){ a[i][0]=1; a[i][i]=1;}for(i=2;i10;i++) { for(j=1;ji;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; }for(i=0;i0;i++){for(j=0;j=i;j++)printf("%d",a[i][j]); printf("n");}return 0;}
  • #includestdio.hint main(void){ int i,j; int a[10][10]; for(i=0;i10;i++){ a[i][0]=1; a[i][i]=1; } for(i=2;i10;i++) { for(j=1;ji;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; } for(i=0;i10;i++) { for(j=0;j=i;j++) printf("%d",a[i][j]); printf("n"); }return 0;}你的输出条件那里错了,还有就是赋值的地方有点小问题。

C语言 创建一个三角形的杨辉三角 我这个程序有什么问题

  • //创建一个杨辉三角#includestdio.hmain() { int a[10][10],i,j,n; printf("enter n:"); scanf("%d",&n); for(i=0;in;i++) { for(j=0;jn-1+i;j++) if(jn-1-i) { a[i][j]=0; } else { if(j==n-1-i||j==n-1+i) a[i][j]=1; else if((j-(n-1-i))%2==0) a[i][j]=a[i-1][j-1]+a[i-1][j+1]; else a[i][j]=0; }} for(i=0;in;i++) { for(j=0;jn;j++) { if(a[i][j]==0) printf(" "); else printf("%d",a[i][j]); } printf("n"); }}
  • #includestdio.h void fun(int a[][34],int n) { int i,j; for(i=0;in;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;in;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; }

返回顶部