天天看點

C++程式設計-第16周字元數組及指針上機實踐項目

  本次上機對應的教學内容:第5章   數組 - 字元數組,第六章 指針 指針的基本概念

第一部分 程式分析

閱讀下面的程式,先寫出其運作結果,再上機運作進行對比。必要時,單步執行程式,在監視(watch)視窗中觀察變量的動态變化,進而掌握程式的運作機理。

(1)

(2)

(3)

(4)

第二部分 上機任務

【項目1-小心地放開玩字元串/字元數組】

(1)讀程式,請分析其實作的功能

請自選下面有關字元串中字元統計的任務,完成兩個即可。

統計字母'a'(空格)出現的次數;

統計字元串中(大/小寫)字母個數;

統計每一個數字字元出現的次數(提示:笨辦法,設十個變量,例a0,a1,...,a9分别儲存個數;顯示學過數組的辦法,設數組a[10],a[0]代表'0'出現的個數,當str[i]為'0'時,a[str[i]-48]++);

統計每一個字母出現的個數(提示:沒有必要設26個或52個變量)

(2)讀程式,請分析其實作的功能

複制字元串str1,儲存到str2中;

在字元串str2後面增加符号"//comment:"

将str1和str2接起來存放到str3中;

将str1中的空格去除,仍儲存在str1中;

将str1和str2接起來,仍存放在str1中;

去除str1中的多餘空格(即兩個單詞中間僅保留一個空格)。

在字元串前加5個符号"note:"

【項目2-帶姓名的成績單(字元數組版)】(參考15周項目3)設score數組中存儲同學們的c++成績,增加一個數組char name[][20]并賦初值,表示同學們的姓名(注意:本周不使用更友善的string類)。這兩個數組中,同學的姓名與成績的下标保持一緻(例如name[1]和score[1]表示同一位同學的姓名和c++成績)。請(1)輸出按成績排序後的同學的名單;(2)輸出按同學姓名排序後的成績單(排序對象是字元串)。提示:比較、複制等需要用到字元串函數。

【項目3-打入“内部”尋“内幕”】下面是一段使用了指針的程式。請利用“單步”執行的方式運作程式,深刻了解“指針變量存儲的是位址值”、“通過指針變量間接通路”等概念。将在執行過程中留下深刻映像的界面截屏下來(不限一個),并加以點評。——學會單步調試,這件事不能再拖了!

下圖是我在單步運作時截屏出來的一個圖,供參考:

C++程式設計-第16周字元數組及指針上機實踐項目

【項目4-指來指去】設計一個程式,利用指針完成下面的工作

(1)下面的程式,輸入10 100和100 10,均可以輸出max=100 min=10,請補充完整

(2)下面的程式将調用函數進行變量的交換,請設計出交換的函數

【項目5-填空學指針】采用指針通路方式從鍵盤給數組a[n]輸入資料,然後對元素值重新按逆序存放并輸出。請補充完整下面的程式。

繼續閱讀