1. 程式人生 > >部落格園第二次作業

部落格園第二次作業

1  目前自己學習中存在的薄弱的知識點具體有哪些?每個薄弱的知識點都是如何獲知的,每個薄弱的知識點需要列舉具體的例子說明。(5分)

目前感覺最薄弱的就是指標,從一開始學就沒怎麼搞懂為什麼要用指標,指標有什麼用,然後越學越懵,感覺做題用指標就很變扭,不習慣為什麼要這樣做,然後最近就一直看書,勉強能搞懂一點,但如果脫離課本,可能又會搞不清什麼時候用指正,怎麼樣是值怎麼樣是地址。

2.2  從第五章函式到第七章陣列的函式題和程式設計題(主要是在PTA)中選出至少一道你覺得比較有挑戰的題(已解決且不是奇奇的題)。寫出解題報告包括:(1)題目大意;(2)解題思路;(3)程式碼思路,比如畫出流程圖;(4)核心技術總結;(5)解題過程中存在的問題,以及如何得到解決的。(5分)

(1)

7-4 楊輝三角 (10 分)

求楊輝三角的前n行資料。

(2)通過楊輝三角形的特性,下面一個數是上面兩個數相加來編寫程式。 (3)

#include <iostream>
using namespace std;
int main()
{
int n,a[100][100],i,j;
scanf("%d",&n);
for (i=1;i<=n;i++) {a[i][1]=1;a[i][i]=1;}
for (i=3;i<=n;i++)
for (j=2;j<i;j++) a[i][j]=a[i-1][j]+a[i-1][j-1];
for (i=1;i<=n;i++)
{
for (j=1;j<=i;j++)
cout<<" "<<a[i][j];
printf("\n");
}
return 0;
}

思路:首先將每一行第一個和最後一個的1輸入,這是每一行都一樣的,再通過兩個for語句來輸入剩餘的數字。 (4)核心技術總結:這題的核心就在於第三第四個for的使用,一定要弄清楚楊輝三角形的規律,才能知道讓i=3,j=2,再通過兩個for來輸入 (5)這一題我一開始沒做出來就是想不到如何輸入中間的對稱數,後來我請教了做出來的人,然後發現兩個for語句可以很簡單的就輸入,關鍵還是要搞懂這題的特性,然後接下來就是把這個規律轉化成程式碼