當前位置:首頁 » 編程語言 » 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語言

熱點內容
公司伺服器怎麼搭建網站 發布:2025-01-27 13:24:43 瀏覽:920
光可以存儲 發布:2025-01-27 13:14:47 瀏覽:676
手機網盤加密文件 發布:2025-01-27 13:11:43 瀏覽:694
唐山有線機頂盒密碼是多少 發布:2025-01-27 13:10:25 瀏覽:251
如何讓電腦上擁有移動式伺服器 發布:2025-01-27 13:04:46 瀏覽:67
漫威超級戰爭如何配置核心組合 發布:2025-01-27 13:03:19 瀏覽:954
c語言五子棋程序 發布:2025-01-27 12:58:43 瀏覽:157
win10流媒體伺服器怎麼搭建 發布:2025-01-27 12:58:04 瀏覽:384
組合公式的演算法 發布:2025-01-27 12:45:50 瀏覽:278
落櫻小屋哪裡下載安卓 發布:2025-01-27 12:35:13 瀏覽:72