標籤:圖片 設計 比較 題意 浮點型 i++ 操作 閱讀題 作業
一、PTA實驗作業題目1:1.本題PTA提交列表
2.設計思路
閱讀題目可知本題最大的痛點就是編寫一個可以調用題目表的函數
- (1)定義變數a為我們要輸入的區位碼。
- (2)輸入a的值。
- (3)調用函數chinese並將實參a的值傳到函數中去並保留在函數形參a中。
- (4)函數中定義變數b,c分別用來保留a的第一個位元組和第二個位元組
- (5)觀察表可知行列最大不超過100
- (6)因此c=a%100,b=a/100.
- (7)先輸出第一個位元組b+160;再輸出第二個位元組b+160.
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
本題比較簡單就是題意比較不好懂,題目也就是要求用C語言中原本存在的資源進行編程,認真讀題後並沒什麼難題
題目2:掉入陷阱的數字1.本題PTA提交列表
2.設計思路
- (1)定義函數change用來實現某一個數的每一位元想加再乘以3加1.
- (2)定義變數i=1用來控制迴圈,b用來儲存第i次掉入陷阱後的數,而N則用來保留第i+1次掉入陷阱的數
- (3)先輸入一個N,並讓b=N,來保留第1個數
- (4)調用函數change(N,i)並讓N的傳回值
- (5)如果N=b則結束程式;
- (6)for(i=2;;i++)
- (7)調用N=change(N,i);
- (8) 當N=b時結束程式;否則讓b保留N;
- (9) 下面進行函數double change(int n,int i)編寫
- (10)定義n的每一個數總和為sum=0;a用來儲存每一個數的數值;
- (11)do{a=n%10;n=n/10;sum+=a;}while(n!=0)
(12)程式傳回值sum*3+1.
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明 。
第一次提交的時候有一個一部到位的提示錯誤。調試過程如下。
原本答案應該是只有一行。而最後卻有兩行。原因就是我自己在迴圈外沒有進行一次的判斷。造成錯誤。
題目3. 簡單計算機1.本題PTA提交列表
2.設計思路
- (1)定義字元型變數OP用來儲存輸入的字元,和浮點型變數a來保留每一個運算元,和最後結果sum,
- (2)先輸入一個a,並用sum來保留a。
- (3)while(1>0){
- (4)輸入一個操作字元
- (5)當op等於=時,輸出sum保留0個小數並結束程式
- (6)輸出下一個運算元。
- (7)如果(o‘&&op!=‘-‘&&op!=‘/‘p==‘/‘&&a==0||(op!=‘+&&op!=‘*‘)輸出ERROR並結束程式。
- (8)當op==‘+‘,則sum=a+sum;
- (9)當op==‘/‘,則sum=a/sum;
- (10)當op==‘‘,則sum=asum;
(11)當op==‘-‘,則sum=a-sum;
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明 。
兩次錯誤分別是解決分母為0和非法字元。的問題。兩個問題解決的方案應該是相似的。就是如果出現了/(就除號)要判斷它後面的浮點型變數是不是0.第二個就是我把加減乘除拿出來,只要字元形變數不等於這些字元則判定錯誤。
二、本周題目集的PTA最後排名。
三、本周學習總結1.你學會了什嗎?
1.1 一維數組如何定義、初始化?
1.2 一維數組在記憶體中結構?可畫圖說明。數組名表示什嗎?
1.3 為什麼用數組?
1.4 介紹選擇法、冒泡法、直接插入排序如何排序?虛擬碼展示.
1.5 介紹什麼是二分尋找法?它和順序尋找法區別?
1.6 二維數組如何定義、初始化?
1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明。
1.8 二維數組一般應用在哪裡?
2.本周的內容,你還不會什嗎?
C語言部落格作業--資料類型