c语言输出杨辉三角
楊輝三角,是在二項式系數三角形中的一種幾何排列,中國南宋數學家楊輝1261年所著的《詳解九章算法》一書中出現。在歐洲,帕斯卡(1623----1662)在1654年發現這一規律,所以這個表又叫做帕斯卡三角形。帕斯卡的發現比楊輝要遲393年,比賈憲遲600年。
楊輝三角的每一位數都是上面兩位數的和,如圖:
?
?用C語言可以對楊輝三角進行輸出。程序如下:
方法一:用兩個一維數組來計算楊輝三角并輸出
void copy(const int* arr_2, int* arr_1) {assert(arr_1);assert(arr_2);int i_2 = 0;while (*(arr_2 + i_2)){*(arr_1 + i_2) = *(arr_2 + i_2);i_2++;} } void print(int* arr_2) {int i_1 = 0;while (*(arr_2 + i_1)){printf("%d ", *(arr_2 + i_1));i_1++;}printf("\n"); } int main() {int arr1[10] = { 1 };int arr2[10] = { 1 };int n = 0;int i = 0;int j = 0;scanf("%d", &n);//輸入楊輝三角的行數printf("\n");printf("%d\n", arr1[0]);//行數for (j = 2; j < n+1; j++){//每行數for (i = 1; i < j; i++){arr2[i] = arr1[i] + arr1[i - 1];}print(arr2, i);//打印楊輝三角的一行copy(arr2, arr1);//復制函數}return 0; }方法二:用一個二維數組計算并輸出楊輝三角
int main() {int arr[10][10] = { 0 };int i = 0;int j = 0;int n = 0;scanf("%d", &n);//輸入楊輝三角的行數printf("\n");//計算楊輝三角的數,放入二維數組中,只用到下三角for (i = 0; i < n; i++)//行數{for (j = 0; j <= i; j++){if (j == 0){arr[i][j] = 1;}if (i == j){arr[i][j] = 1;}if ((j < i) && (j != 0)){arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}}}//輸出二維數組,即楊輝三角for (i = 0; i < n; i++){for (j = 0; j <= i; j++){printf("%d ", arr[i][j]);}printf("\n");}return 0; }兩種方法輸出的楊輝三角結果都一樣,如下圖:
?
要想輸出為金字塔形狀的,只需在輸出每一行之前輸出相應的空格數。?
總結
                            
                        - 上一篇: 常见端口入侵方法剖析
 - 下一篇: .netframework3.5中Tim