C語言博客05--指針

1.本章學習總結

1.1 思惟導圖

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

1.2.1 學習體會

本章學習了指針的應用,指針是C語言中頗有特點的一個東西,其餘的語言基本沒有這個功能,直接在內存上對變量賦值,同時也學到了不少函數可應用在字符串中運用好比strlen、strcat、

strcmp等等,對數組的大小進行控制也學到了一個新的方法,動態內存分配,能夠對數組的大小進行控制,防止像之前那樣給數組定義過大的範圍,浪費內存。之後也能更好的運用數組。

學完了指針,之後在寫程序時須要用函數對變量進行賦值時就不用那麼多函數一一進行返回值,能夠直接在函數中用指針對函數外面的變量進行修改。

1.2.2 代碼累計

2.PTA總分

2.1截圖PTA中函數題目集的排名得分

2.2 個人總分:110

3.PTA實驗做業

3.1 PTA題目1

給定一句英語,要求你編寫程序,將句中全部單詞的順序顛倒輸出。算法

3.1.1 算法分析

輸入字符串str
x=strlen(str);
max=x-1;
for i=max to 0 then
     if(字符等於' ') then
          for j=i+1 to max then
               輸出下標從i+1到max的字符
               輸出空格 
          end for
     max=i-1;
     end if
end for

3.1.2 代碼截圖

3.1.4 PTA提交列表及說明


Q1:剛開始段錯誤由於數組的範圍不夠
A1:剛開始用的是二維字符數組作的,一直調試仍是作不出來,後來就改爲如今這個一維數組的作法
Q2:輸入一個單詞但單詞前面有空格時答案錯誤
A2:在輸入空格前加了一個判斷是否爲一個單詞就解決了數組

4.大做業

4.1.改造函數介紹

1.函數1

  • 僞代碼介紹函數思路

switch(level)  then         //用戶選擇的難度等級
      case 1:
          生成一位數隨機數和一個運算符;break;
      case 2:
          生成兩位數隨機數和兩個運算符;break;
      case 3:
          生成三位數隨機數和兩個運算符;break;
計算運算結果answer
end switch
將運算符存入exp數組
返回answer
  • 截圖函數代碼。



4.2 與原有函數代碼比較

  • 在原有的程序當中,對輸出算術表達式我並非儲存在一個數組中,而是直接進行輸出,如有兩步就先輸出兩個數相加,再輸出最最後一個數進行的運算的運算符和等於號,這次改爲了

    將一條算術表達式儲存在一個字符數組裏最後輸出讓用戶看到並計算結果。用字符數組輸出一整條語句,可使代碼更簡潔,可是中間的步驟會比較多,要將數字轉化爲字符再存入字符

    數組中。若是直接輸出的話代碼就比較簡單思路也比較簡單,可是思路並不怎麼清晰,只是獲得一個數就輸出一個數,隨機生成一個運算符就輸出一個運算符。

4.3 改進大做業總結

在寫這種代碼比較多的程序中,當咱們想好思路後開始打代碼,不要一氣呵成從頭打倒尾,這樣中間可能會出現不少錯誤,並且這種代碼比較多的程序中在中間找錯誤不是一件容易的事,

因此在寫大做業的時候,最好是分塊來寫,先把某一功能的代碼寫完而後對相應的錯誤進行修改,這樣修改的話會比較容易找出錯誤,肯定這一功能沒什麼問題後再開始寫實現下一功能的

代碼

相關文章
相關標籤/搜索