本文目錄一覽:
- 1、這個用數組C語言列印楊輝三角,怎麼改為不用數組?
- 2、c語言:不使用數組編寫楊輝三角形10行的遞歸程序
- 3、c語言編程列印楊輝數字金字塔不用數組
- 4、大學c語言循環章節問題。(不用數組) 編寫程序,輸出楊輝三角形
這個用數組C語言列印楊輝三角,怎麼改為不用數組?
可以不用二維數組,改用一維數組。
如果有改為不用數組,那就使用計算階乘的方法,計算效率較低,而且容易「溢出」不能算得較多的行數。如果要改為能得到用數組同樣的行數,則程序的編寫就要用麻煩的演算法。
c語言:不使用數組編寫楊輝三角形10行的遞歸程序
//輸出楊輝三角
# include stdio.h
void main()
{
int yang(int x, int y);
int i, j, k;
for(i = 1; i = 10; i++)//i控制行數
{
for(j = 0; j 10-i; j++)
printf(” “);
for(k = 1; k = i; k++)//y表示這一行中第幾個數
printf(“%4d”, yang(i, k));
printf(“\n”);
}
}
int yang(int x, int y)
{
int z;
if(y == 1 || y == x) z = 1;
else z = yang(x-1, y-1) + yang(x-1, y);
return z;
}
不知道能不能滿足lz要求。
c語言編程列印楊輝數字金字塔不用數組
#includestdio.h
#define N 10
void main()
{
unsigned int i,j,k;
unsigned int b,c;
for(i=0;iN;i++)
{
for(j=N;ji;j–)
printf(” “);
for(j=0;j=i;j++)
{
b=c=1;
if(j=1)
{
for(k=i-j+1;k=i;k++)
b*=k;
for(k=1;k=j;k++)
c*=k;
}
printf(“%4d”,b/c);
}
printf(“\n”);
}
}
在列印楊輝三角時通常用到楊輝三角的兩個性質。
第一個就是楊輝三角中除了最外層的數為1外,其餘的數都是它肩上兩個數之和。用數組輸出楊輝三角就用這個性質。
第二個性質是楊輝三角的第n行恰好是C(n,0)~C(n,n)。這裡的C表示組合。不用數組輸出楊輝三角就用這個性質。
哪裡不明白可以Hi我。
大學c語言循環章節問題。(不用數組) 編寫程序,輸出楊輝三角形
#include stdio.h
#define N 14
void main()
{
int i, j, k, n=0, a[N][N]; /*定義二維數組a[14][14]*/
while(n=0||n=13){ /*控制列印的行數不要太大,過大會造成顯示不規範*/
printf(“請輸入要列印的行數:”);
scanf(“%d”,n);
}
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]; /*除兩邊的數外都等於上兩頂數之和*/
for(i=1;i=n;i++){
for(k=1;k=n-i;k++)
printf(” “); /*這一行主要是在輸出數之前打上空格佔位,讓輸出的數更美觀*/
for(j=1;j=i;j++) /*j=i的原因是不輸出其它的數,只輸出我們想要的數*/
printf(“%6d”,a[i][j]);
printf(“\n”); /*當一行輸出完以後換行繼續下一行的輸出*/
}
printf(“\n”);
}
拓展資料:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
儘管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標準規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言制定了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243205.html