C語言I博客作業08


這個作業屬於哪個課程 C語言程序設計II
這個作業要求在哪里 C語言I作業08
我在這個課程的目標是 掌握使用whlie和do-whlie結構
這個作業在那個具體方面幫助我實現目標 whlie和do-whlie結構得到訓練
參考文獻 C語言程序設計I,百度

1.PTA作業

1.PTA實驗作業

1.1jmu-c-二進制轉10進制

內容:輸入一組二進制字符,輸出其對應的十進制數。當輸入回車鍵時,輸入結束。若輸入非二進制字符,輸出error input!

1.1.1數據處理

**數據表達:定義整型變量flag,sum,定義字符變量ch用於存放字符,%c代表輸出單個字符,flag用於判斷是否為1or0,sum為最終轉化成十進制的值。
**數據處理:
定義變量ch為字符變量,用於存放字符
int sum,flag定義整型變量
while(ch!='\n')
輸入字符
switch
case'\n':
end
case'1':case'0':
sum<--sum*2+ch-'0';
end
else 輸出error input!
flag<--1;
ch<--'\n';
if flag<--0
then輸出sum

1.1.2實驗代碼截圖

1.1.3造測試數據

輸入數據 輸出數據 說明
111111 63 二進制
89 error input! 非二進制
10101010 170 二進制
56 error input! 非二進制
1001 9 二進制
78 error input! 非二進制

1.1.4PTA提交列表及說明

提交列表說明:

1.在編譯的時候將while打成‘whlie’了看了好久才看出來;“;”打成中文符號了
2.在運行時答案錯誤,經過詢問和調試后改對了

1.2整除光棍

內容:這里所謂的“光棍”,並不是指單身汪啦~ 說的是全部由1組成的數字,比如1、11、111、1111等。傳說任何一個光棍都能被一個不以5結尾的奇數整除。比如,111111就可以被13整除。 現在,你的程序要讀入一個整數x,這個整數一定是奇數並且不以5結尾。然后,經過計算,輸出兩個數字:第一個數字s,表示x乘以s是一個光棍,第二個數字n是這個光棍的位數。這樣的解當然不是唯一的,題目要求你輸出最小的解。
提示:一個顯然的辦法是逐漸增加光棍的位數,直到可以整除x為止。但難點在於,s可能是個非常大的數 —— 比如,程序輸入31,那么就輸出3584229390681和15,因為31乘以3584229390681的結果是111111111111111,一共15個1。
輸入在一行中給出一個不以5結尾的正奇數x(<1000)。
在一行中輸出相應的最小的s和n,其間以1個空格分隔。

1.2.1數據處理

數據表達:定義整型變量n,i,x,flag,i是計算出的光棍位數。
數據處理:
定義變量i,n,x,flag
輸入n
while(1)
x<--(x*10+1)
if x>=n
then flag<--1;
輸出x/n
else if flag<--1
then 輸出0;
x<--x%n(把x除以n余數賦值給x);
if x<--0
then i<--i+1
輸出i的值

1.2.2實驗代碼截圖

1.2.3造測試數據

輸入數據 輸出數據 說明
31 3584229390681 15 31乘以3584229390681的結果是111111111111111,一共15個1
21 5291 6 21乘以5291的結果是111111,一共6個1
101 11 4 101乘以11的結果是1111,一共4個1
91 1221 6 91乘以1221的結果是111111,一共6個1

1.2.4PTA提交列表及說明


提交列表說明:
1.答案錯誤:開始用的是for循環,條件沒有用對,后來改了一下,但是還是沒有改對
2.答案錯誤:把for循環語句改為了while循環語句,把那個條件沒有用對,后來問了大佬改正確了
3.在編譯的過程中有把while錯打成‘whlie’

2.代碼互評

同學的代碼

同學的代碼

自己的代碼


1.變量有一點不同,柏同學只用了3個變量(n,sum,count),我和黃同學用了4個變量(我的是N,sum,num,count)(黃同學n,sum,count,number)
2.我和柏同學用的是while結構,黃同學用的是do-while結構
3.柏同學還用了if結構,如果n=0的時候count=1,n不等於0時就進行while循環
4.其他的大同小異,都差不多

同學的代碼

自己的代碼


1、變量不同的有time,t,相同的有N,U,D,X(x)
2、我是分別定義變量的,楊同學是先定義然后再令time=X=0
3、她是用X=X+U,我是用x+=U,其實差不多
4、在if循環條件中我的是x<N,她的是X>=N,她的是錯誤的,用12 3 1運算得到7

3.學習總結

3.1學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第六周 20h 60 用WinGW-w64來編譯C程序 文檔真的打不開,可能是電腦原因
第七周 10h 90 關系運算,if-else語句,格式化輸入語句scanf()
第八周 8.5h 80 for的循環語句,指定次數的循環程序設計 不太會文字與數學的轉換
第九周 8h 100 函數的調用和定義的初步認識 自定義函數不熟悉
第十周 10h 170 多分支結構、字符型數據類型和邏輯運算符 多個數據輸出不熟練
第十一周 11h 110 熟悉多分支結構switch語句的使用 邏輯思維能力差
第十二周 9h 200 熟悉whlie和do-whlie結構 字符那方面不熟

3.2累積代碼行和博客字數

3.3學習內容總結和感悟

3.3.1學習內容總結

3.3.2學習體會

1.做題的感覺順了一點,空閑時間多刷題吧
2.偽代碼不是特別懂,問了別人還是有點不太懂,每個人的都不太一樣
3.這一周事情真的太多了,熬夜時間又延長了,太難了
4.時間過得太快了,已經第十二周了,要系統的復習加預習
C語言的格式輸出,%c,%y這些代表你要輸出的數據的數據類型;%d 表示輸出十進制有符號的整數。
1、%u 十進制無符號整數。
2、%f 表示輸出浮點數。
3、%s表示輸出 字符串。
4、%c表示輸出單個字符。
5、%p表示輸出指針的值。
6、%e表示輸出指數形式的浮點數。
7、%x, %X 表示輸出無符號以十六進制表示的整數。
8、%0 表示輸出無符號以八進制表示的整數。
9、%g表示輸出自動選擇合適的表示法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM