方陣的主對角線之上稱為「上三角」。
請你設計乙個用於填充n
階方陣的上三角區域的程式。填充的規則是:使用1,
2,3….的自然數列,從左上角開始,按照順時針方向螺旋填充。
例如:當n=3
時,輸出:
1 2 3
6 45
當n=4
時,輸出:
1 2 3 4
9 10 5
8 6
7當n=5
時,輸出:
1 2 3 4 5
12 13 14 6
11 15 7
10 8
9程式執行時,要求使用者輸入整數n
(3~20
)程式輸出:方陣的上三角部分。
要求格式:每個資料寬度為4
,右對齊。
分析:主要是根據當前數是在第幾圈中,其中nturn是記錄當前在第幾圈裡面。
源**:
1 #include 2 #include 34intmain()5;
89intn;
10 scanf("
%d", &n);
1112
int front = 1; //
當前要填充的數
13int last = n * (n + 1) / 2; //
輸入n時,最後乙個數的值
1415
int i, j, nturn = 0; //
nturn記錄當前是在第幾圈裡面
1617
while(front <=last)
1827
28 i = nturn + 1
; 29 j = n - (nturn - 1) * 2 - 1;30
for(; i <= n - (nturn - 1) * 2 && j>= nturn; i++, j--)//
填充每一圈斜對角線
3134
35 i = n - (nturn - 1) * 2 - 1
; 36 j =nturn;
37for(; i >= nturn + 1; i--) //
填充每一圈豎排
3841}42
43for(i = 1; i <= n; i++)
4449 printf("\n"
);50}51
52return0;
53 }
上三角矩陣下三角矩陣
要求給定矩陣,輸出其上三角矩陣或下三角矩陣 源 如下 include include include include const int m 5 void proc int array m m void main printf n proc a printf result array is n fo...
python楊輝三角 楊輝三角I II
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...
sicp練習1 12 帕斯卡三角(楊輝三角)
楊輝三角以前在學習c語言時候,用迴圈很容易實現。由於剛剛接觸函式式語言,遞迴和迭代方式實現迴圈還沒深入我心。下意思的想用鍊錶來實現,但發現自己對scheme的鍊錶操作太不熟悉,總會出現這樣那樣子的無法自我解釋的問題。最後參考了 dennis zane 的pascal實現,dennis zane 是把...