C語言I作業08


一、表格


問題 答案
這個作業屬於那個課程 C語言程序設計II
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9976
我在這個課程的目標是 學習好C語言,熟練掌握編譯代碼的相關技巧,掌握C語言的精髓
這個作業在那個具體方面幫助我實現目標 學會使用while和do-while結構解決問題
參考文獻 百度,C語言程序設計,《C Primer Plus》

二、本周作業


1.PTA實驗作業

1.1 題目名1 求整數的位數及各位數字之和

題目內容:
對於給定的正整數N,求它的位數及其各位數字之和。
輸入格式:
輸入在一行中給出一個不超過10^9的正整數N
輸出格式:
在一行中輸出N的位數及其各位數字之和,中間用一個空格隔開。
輸入樣例:

321

輸出樣例:

3 6

1.1.1數據處理

數據表達:定義變量count,number,sum;並且把它們都定義為整型變量,開始的時候 count=0;sum=0。

數據處理:運用了while語句,當number!=0的時候進行sum,number,count的運算。
偽代碼:#include<stdio.h>
int main (void)
{
    定義整型變量 count,number,sum;
    count=0;(進行賦值)
    sum=0;
    輸入number的值;
    while (number不等於零)(while語句進行循環)
     {
        sum=sum+number%10;(用公式進行計算)
        number=number/10;
        count=count+1;
     }
      printf(輸出count,sum的值);
     程序結束;
}
     

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
321 3 6 驗證題目所給的數據
10001 5 2 輸入較大的數據進行驗證
11 2 2 驗證較小數據

1.1.4 PTA提交列表及說明

提交列表說明:

1.部分正確:將 while (number>0)改為 while (number!=0),將循環體語句修改為sum=sum+number%10;number=number/10;count=count+1;
2.答案正確:。。。
說明:在Devc++上實驗了很久才發現了原來是自己的循環體出了錯誤,然后根據提示進行了修改。

1.2 題目2 jmu-c-二進制轉10進制

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

11111111

輸出樣例1:

255

輸入樣例2:

34

輸出樣例2:

error input!

1.2.1 數據處理

數據表達:定義變量sum,並且定義為整型;定義字符型變量char op;開始的時候sum=0。
數據處理:開始的時候先運用while語句進行循環接着再運用if-else語句進行結果的計算。
偽代碼:#include<stdio.h>
int main (void)
{
   定義整型變量sum=0;
    定義字符型變量char op;
    輸入op;
    while(判斷輸入是否是 回車,不是就進入循環)
    {
        if(op=='\n')
            break;(如果輸入是 回車,就跳出)
        if(op!='0'&&op!='1')(判斷輸入的是否是二進制數)
        {
            printf("error input!");
            return 0;
        }
        else(輸入的數是二進制數)
        {
            sum=sum*2+op-'0'; (用公式進行計算)
        }
        輸入字符;
    }
    輸出十進制sum的值;
    return 0;
}

    

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
11111111 255 驗證題目所給數據1
34 error input! 驗證題目所給數據2
11 3 隨機驗證一組數據

1.2.4 PTA提交列表及說明

提交列表說明:

1.部分正確:在 printf("error input!");后面增添上語句 return 0;把printf("%d",sum);放到最后一個return 0上面。
2.答案正確:。。。

2.代碼互評

同學代碼一:

自己代碼一:

代碼比較:

1.我與同學定義的變量有點不一樣,我比她多定義了一個變量h是為了算高度。
2.我們倆個的算的思路有一點不一樣,同學的是用n去減去爬的高度,而我用的是爬的高度與輸入n進行比較,所以算的過程有點不一樣。

同學代碼二:

自己代碼二:

代碼比較:

1.剛看到同學的代碼的時候感覺到很震驚,跟他相比感覺自己跟別人的差距有點大啊,他運用了好多知識點。
2.他運用了字符型,switch語句,還運用了while的語句,可以看出來同學很好的把最近所學的東西都聯系起來了,而我運用了字符型,while語句以及if-else語句,相對同學來說沒有那么高級。

3.學習總結

3.1 學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第一周(9.19-3.27) 四天 40 Hello world編程和Markdown語法 對待大部分內容都不理解
第二周(9.25-10.4) 四天 35 華氏度與攝氏度的轉換 不理解數據類型
第三周(10.8-10.11) 三天 90 if-else語句、格式化輸入語句 分不清整型變量和浮點型變量
第四周(10.15-10.17) 三天 100 有關for循環體的運用 有時候不清楚循環體是什么
第五周(10.22-10.25) 三天 130 使用自定義函數來編程和生成乘方表和階乘表 不知道如何調試函數以及在哪里設置斷點
第六周(10.30-11.2) 四天 180 分支結構、字符型數據類型 對待字符型題目還是不能夠准確理解
第七周(11.06-11.08) 三天 190 學會多分支結構switch語句的使用 有時不能准確理解case后的有些語句
第八周(11.13-11.15) 三天 200 學會使用while和do-while結構解決問題 不能准確判斷while的循環條件

3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟

3.3.1 學習內容總結

3.3.2 學習體會

1.這一周我們學習了while語句以及do-while語句的運用,以及在使用while語句的注意事項,和for語句的比較。
2.while語句的表達式為:while(表達式) 循環體語句; do-while語句的表達式為"do{" "循環體語句" "}while(表達式);"
3.在寫作業時有時不能准確判斷while語句中表達式的判斷條件,有時會判斷錯誤。


免責聲明!

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



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