1.本章學習總結算法
1.1 思惟導圖數組
本章所學習的指針是一個嶄新的知識點,在以前的學習中從未接觸過,只知道數組的首地址,
因此學起來有點耗時間,雖然如今並未感受到指針的強大,可是稍微知道一點c語言的人都知
道指針是c語言在全部語言中最特殊的一塊,也知道下學期的數據結構會大量用到c語言,故
學起來仍是比較認真的,因此自認爲掌握得還不錯。
1.2.2 代碼累計數據結構
2.PTA總分函數
2.1截圖PTA中函數題目集的排名得分學習
2.2 個人總分測試
總分:110
3.PTA實驗做業spa
3.1 PTA題目13d
7-2 說反話-增強版 (20 分) 給定一句英語,要求你編寫程序,將句中全部單詞的順序顛倒輸出。 輸入格式: 測試輸入包含一個測試用例,在一行內給出總長度不超過500 000的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字符串,單詞之間用若干個空格分開。 輸出格式: 每一個測試用例的輸出佔一行,輸出倒序後的句子,而且保證單詞間只有1個空格。
3.1.1 算法分析指針
```c 定義靜態字符數組p[500000] 定義整型數i,flag=-1 //flag用來控制單詞間只有一個空格 for i=0 to (p[i]=getchar () )!='\n' //當接收到換行符時中止 p[i]='\0' //將'\n'改成'\0' for i-- to i=0 do if p[i]=' ' then //將空格所有轉化爲'\0' p[i]='\0' if i=0&&p[i]!='\0' then printf("%s",p) //若i=0時不是空格,則輸出最後一個單詞 else if p[i]='\0'&&flag=1 then printf("%s",&p[i+1]) //一個個單詞輸出 else if p[i]!='\0' then if flag=0 then 輸出空格 //在單詞間輸出一個空格 flag=1 end for
```
3.1.2 代碼截圖code
3.1.4 PTA提交列表及說明
Q1:第一遍作的時候,出現了單詞也反過來的問題
A1:從新審題發現題目看錯,通過修改解決了
Q2:後來又出現了,第1個單詞前面多了一個空格的現象
A2:通過修改解決
Q3:可是又出現單詞間空格消失的現象
A3:乾脆引入了一個flag,完美解決這個問題
4.大做業
4.1.改造函數介紹
1.函數1
2.函數2
3.函數3
4.3 與原有函數代碼比較
1.原來的代碼沒有用到指針而是用全局變量 2.原來的代碼用到的變量多,而用字符數組來存放算式能夠有效減小變量的使用,可避免因爲變量太多所致使的混亂 3.新增長了清屏的功能,可使運行界面看起來更加友好。 4.比起原來的代碼,如今的代碼看起來功能更加明瞭。
4.4 改進大做業總結
1.指針在代碼中的強大做用在這次大做業中初次感到 2.感受這次大做業還有些不足,沒有將代碼寫的更簡潔,這可能跟以前的寫法有關 3.指針的使用還不夠熟練,得繼續練習 4.與同窗的代碼相比,仍是功能欠缺 5.比起以前的代碼,bug有所減小 6.用字符數組來存放算式是一個好的方法,當實行起來並不順利。