標籤:ima 變數 編寫程式 思路 規律 多個 輸出 指定 排名
一、PTA實驗作業題目1:6-3 結構體數組中尋找指定編號人員1. 本題PTA提交列表
2. 設計思路
定義整型變數ifor(i 0 to N-1)if(strcmp((std+i)->num,num)==0)//使用strcmp函數判斷資料是否相等返回*(std+i)
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
在傳回值上一開始不知道返回什麼,知道要返回struct student類型的變數,一開始返回的std+i,以為返回的是地址。
題目2:7-1 計算職工工資1. 本題PTA提交列表
2. 設計思路
struct work{ char name[10]; float basic;//基本 float floating;//浮動 float expend;//支出 float salary;//實發 };該結構體表示職員的基本工資,浮動工資,支出以及實發工資定義整型變數i,N表示職員的個數輸入N定義struct work a[N];//定義職員數組for(i 0 to N-1){輸入名字,基本工資,浮動工資,支出計算實發工資}for(i 0 to N-1)輸出名字,實發工資
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
看到題目輸入樣式的數字是整數,就一開始把變數定義成了整型。
題目3:7-6 通訊錄的錄入與顯示1. 本題PTA提交列表
2. 設計思路
struct user{ char name[20]; char birth[20]; char sex; char phone[20]; char tele[20];};該結構體表示朋友的姓名、出生日期、性別、固定電話號碼、行動電話號碼定義整型變數i,N表示行數,K表示給出的數,number輸入N定義結構體類型users[N]for(i 0 to N-1)輸入姓名、出生日期、性別、固定電話號碼、行動電話號碼輸入Kfor(i 0 to K-1){輸入number if(number在0到N-1之間)輸出姓名 固話 手機 性別 生日else輸出Not Found
}
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
因為定義的sex是字元型變數,不是字元型數組,在上一個數組輸完後有空格,要把空格吸收。
二、本周題目集的PTA最後排名。
三、閱讀代碼(找兩篇優秀代碼貼圖展示,先描述題目,再貼代碼,可自己在裡面加註釋)
- 1.時間換算
%02d中2是寬度,如果整數不夠2列就補上0,比如printf("%02d" ,3);結果就是03,如果大於2沒有影響printf("%02d",1234);結果就是1234。
2.學生情況
該代碼用共用體將男女生的情況聯絡在一起,又在共用體中嵌套結構體把女生的多重專案聯絡在一起,整個代碼使人一眼可以瞭解清楚,條理清晰,層次分明。
四、本周學習總結1.總結本周學習內容。1.1結構變數與結構指標作為函數參數的區別結構變數作為參數可以傳遞多個資料且參數形式較簡單。
1.2函數嵌套結構化程式設計主要原則:自頂向下,逐步求精,函數實現。
注意問題:現值函數的長度,避免函數功能的重複,減少全域變數的使用。
1.3遞迴函式
- 定義:函數自己調用自己的方式
編寫遞迴函式的兩個關鍵點:遞迴出口,遞迴式子。
在編寫程式時只給出運算規律,具體實現細節應該讓電腦去實現處理,讀者不要鑽到細節的實現上去,否則會實現細節的泥沼中很難理出頭緒。
1.4共用體
- 定義:使幾個不同的變數共占同一段記憶體的結構。
形式:
union 共用體名{成員表列}變數表列;
1.5枚舉類型
- 若一個變數只有幾個可能的值,可以定義枚舉類型,變數的值只限於列舉出來的值的範圍內。
形式:enum 枚舉名{枚舉變數表};
2.羅列本周一些錯題。
實參是a[9]的地址,形參應該也是地址,A,B為數組,是正確的,C為指標,正確,而D是一個整型變數,錯誤。
C語言部落格作業--結構體