C語言編寫楊輝三角
阿新 • • 發佈:2019-01-08
C語言重新學習不多久寫的演算法,希望對大家有幫助,評論區歡迎大家留言,點贊,打賞,丟香蕉給我,謝謝
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define length 10//定義輸出的行數
int main()
{
int arr[length][length] = { { 0 } };
int j = 0;
int k = 0;
int i = 0;
for (j = 0; j < length; j++) //第一個和最後一個數字置1
{
arr[j][0] = 1 ;
arr[j][j] = 1;
}
for (j = 2; j < length; j++)//對非第一個和最後一個求值
{
for (k = 1; k < j; k++)
{
arr[j][k] = arr[j - 1][k - 1] + arr[j - 1][k];
}
}
for (j = 0; j < length; j++)//列印
{
while (i < (length - 1))
{
printf (" ");
i++;
}
for (k = 0; k <= j; k++)
{
printf("%-4d", arr[j][k]);//%-6d,以長度為6,左對齊的方式輸出
if (j == k)
printf("\n");
}
i = j + 1;
}
return 0;
}
註釋:巨集定義的length可以更改,輸出自己想輸出的長度。建議13以下時輸出格式給%-4d,程式碼28處printf()內保持輸出兩個空格不變;13以上使用-%6d,且printf()中輸出應多加一個空格