第五次做業

C語言博客做業05--指針

1.本章學習總結

1.1 思惟導圖

1.2 本章學習體會及代碼量學習體會

1.2.1 學習體會

經過這一週的學習,讓我明白了指針的重要性,在不少時候運用,會使得代碼功能強大。指針是C語言中頗有特點的一個東西,其餘的語言基本沒有這個功能,直接在內存上對變量賦值,同時也學到了不少函數可應用在字符串中運用好比strlen、strcat、strcmp等等,對數組的大小進行控制也學到了一個新的方法,動態內存分配,能夠對數組的大小進行控制,防止像之前那樣給數組定義過大的範圍,浪費內存。  
但我發現,能夠用指針的地方,能夠用數組,我比較喜歡用數組寫,多是剛剛學習指針,不怎麼熟悉的結果。之後的學習中要多運用指針打打代碼,這樣把這種新的方法經過鍛鍊,熟悉起來。

1.2.2 代碼累計

2.PTA總分

3.PTA實驗做業

3.1 PTA題目1

7-2 說反話-增強版 (20 分)
給定一句英語,要求你編寫程序,將句中全部單詞的順序顛倒輸出。算法

3.1.1 算法分析

輸入字符串str
定義 i=字符串長度
while str[0]==空格
定義 j
 for j=0 to i then
str[j]=str[j+1]
end for
end while
while str[i-1]==空格
  str[i-1]='\0'
  i-1
end while
i = strlen(str)
定義h
for h =0 to i then
if str[h]==空格&&str[++h]==空格
定義j
for j=h to i then
str[j]=str[j+1]
end for 
if str[h]==空格&&str[h-1]==空格)
定義j
for j=h to i then
str[j]=str[j+1]
end for
end if
end if 
end for
i=字符串長度
for i to 0 then
if  str[i] ==空格
輸出空格後的字符直至數組結束
str[i]='\0'
end if
end for
printf("%s", &str[i]);

3.1.2 代碼截圖


3.1.3 PTA提交列表及說明


少考慮了多個空格及開頭空格的狀況數組

4.大做業

4.1.改造函數代碼截圖





4.2運行截圖

4.3與前代碼的改進

將產生隨機數部分改爲指針傳遞.
改進以前使用,須要屢次調用函數
改進以後一次解決

4.4總結

在寫這種代碼比較多的程序中,當咱們想好思路後開始打代碼,不要一氣呵成從頭打倒尾,這樣中間可能會出現不少錯誤,並且這種代碼比較多的程序中在中間找錯誤不是一件容易的事,
因此在寫大做業的時候,最好是分塊來寫,先把某一功能的代碼寫完而後對相應的錯誤進行修改,這樣修改的話會比較容易找出錯誤,肯定這一功能沒什麼問題後再開始寫實現下一功能的
代碼
對指針的用法仍然不熟悉,能想到的改進之有這一點,與大部分同窗還沒法相比,還須要努力
相關文章
相關標籤/搜索