問題 | 回答 |
---|---|
這個做業屬於那個課程 | C語言程序設計II |
這個做業要求在哪裏 | 做業要求 |
我在這個課程的目標是 | 本身設計一個小遊戲 |
這個做業在那個具體方面幫助我實現目標 | 在PTA題目中屢次使用while和do-while結構 |
參考文獻 | 僞代碼的寫法 |
輸入格式:
輸入在一行中給出一個不超過10的9次方正整數N。函數
輸出格式:
在一行中輸出N的位數及其各位數字之和,中間用一個空格隔開。學習
輸入樣例:測試
321設計
輸出樣例:code
3 6blog
數據表達:運用了整型變量number,item,sum,i,分別表明輸入的整型數,儲存整型數,位數,各位數字之和。
數據處理:遊戲
int number,item; /*整型數,儲存整型數*/ int i←0,sum←0; /*位數,各位數字之和*/ 輸入整型數 item←number while(item) sum+←item%10 /*儲存各位數*/ item←item/10 /*儲存整型數*/ i++ 輸出位數,各位數字之和 end
輸入數據 | 輸出數據 | 說明 |
---|---|---|
45678 | 5 30 | 5位數,各位數字之和爲30 |
464894 | 6 35 | 6位數,各位數之和爲35 |
12346 | 5 16 | 5位數,各位數字之和爲16 |
提交列表說明:
段錯誤:不當心把輸入格式中少打一個符號。字符串
輸入樣例1:get
11111111input
輸出樣例1:
255
輸入樣例2:
34
輸出樣例2:
error input!
數據表達:定義了字符型變量ch,整型變量ten十進制。
數據處理:
char ch; /*定義字符型變量ch*/ int ten←0; /*ten十進制*/ ch←getchar() /*輸入一個字符型數據,把值賦給變量ch*/ while(ch!←'\n') switch(ch) case '1':ten←ten*2+1 /*二進制與十進制互換*/ break; case '0':ten←ten*2+0 /*二進制與十進制互換*/ break; default: /*不是二進制*/ 輸出error input! end ch←getchar() /*輸入一個字符型數據,把值賦給變量ch*/ 輸出十進制數 end
輸入數據 | 輸出數據 | 說明 |
---|---|---|
1111011 | 123 | 爲二進制 |
110110101 | 437 | 爲二進制 |
2465 | error input! | 非二進制 |
提交列表說明:
編譯錯誤:一開始並不知道二進制與十進制互換表達式錯誤。
編譯錯誤:不知道用getchar()
1.咱們都是將數字用字符型的數據進行輸入,來達到目的。
2.我和第一位同窗使用的代碼採用的單個字符存儲,而第二位同窗採用的是字符串方式進行存儲的。
3.我使用的語句是while和switch語句,而第一位同窗使用的是while和if–else語句,第二位同窗使用的是for語句和多分支if語句。
4.我和第一位同窗用來轉進制的方式是在while循環中進行判斷,合理時一邊讀取字符,一邊進行計算轉換,而第二位同窗是在判斷輸入的二進制數合理時,對字符串的長度進行計算,最後利用循環計算。
5.我和第一位同窗的代碼差很少,都比第二位同窗的代碼簡單點。
6.第一位同窗將ch=getchar()放入到while中,while(ch=getchar())的意思是:你一直輸入字符,直到你按ctrl+z結束
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
11.11~11.17 | 18h | 263 | 熟悉使用while和do-while結構 | 字符的實際使用 |
本週又學習了while和do-whlie結構,while循環語句和for語句不一樣的是,while語句只有一個表達式,for語句有三個表達式,while會一直循環下去直到條件表達式結果爲假,而與do-while語句不一樣的是,do-while語句先作語句,再作判斷條件。本週PTA有點難啊,有的不知道題目什麼意思,多是我語文很差吧,此次題目綜合性強了點,均可以運用之前學的結構了,這周我有點不懂的是字符型變量,仍是不太懂,第三題屢屢出錯,須要運用到未學函數,但有些同窗代碼沒用到,也能作出來的。僞代碼仍是寫的不夠到位,知識學習的太淺陋了,不夠深刻,有時會致使語句運用不符。我會繼續加油朝目標前進的,最近有個想法看到抖音上的自制指紋鎖有點心動,但願在大學中能本身制個。