C語言I博客作業11


問題 答案
這個作業屬於哪個課程 c語言程序設計I
這個作業的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10129
我在這個課程的目標是 學好怎樣精確地打代碼,快速准確的完成PTA,在博客園上將自己的錯誤總結與歸納
這個作業在具體哪個方面幫助我實現目標 對自己打的代碼進行糾錯與記錄,對別人的代碼進行挑錯與學習
參考文獻 Brian W.Kernighan, Dennis M.Ritchi

作業格式

1.PTA實驗作業

1.1 6-1 統計某類完全平方數

   * 題目內容描述:本題要求實現一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等

1.1.1 數據處理

   * 1.數據表達:
int IsTheNumber ( const int N )
{
  int ← sqrt(N); 
  int n ← N; 
  int a[10] ← {};    //變量r,n,a,

  if(r*r = N){     //篩選是否為完全平方數
    int d;    
    while(n){
      d ← n%10;
      a[d]++;
    if(a[d]←2){   //設a[d]==2定義
          return 1;
          break;
    }
    n/←10;  
    }
  }
  return 0;
  
}
   * 2.數據處理:用int整型n1,n2的變量

1.1.2 實驗代碼截圖

1.1.3造測試數據

輸入數據 輸出數據 說明
121 440 cnt=4
169 225 cnt=1

1.1.4提交列表及說明


* 編譯錯誤: int r=sqrt(N); int n=N; int a[10]={};一開始將這三個用int定義的變量合並為一個了,結果發現是編譯錯誤,放在devec++上運行,發現是好像說的是不能這樣放,所以就把他們分開了,重新弄了三個用int定義的。

1.2 6-2 統計各位數字之和是5的數

   * 題目內容描述:本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另一個函數統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。

1.2.1 數據處理

  * 1.數據表達:
int is( int number )
{
    int sum ← 0,n;
    while(number≠0)           //while的語句
    {
        n ← number%10;          //定義n,賦值number%10
        sum ← sum+n;
        number ← number/10;
    }
    if(sum==5)        //用if語句,賦sum的值
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
void count_sum( int a, int b )
{
    int i,count←0,sum←;          //用int定義i,count,sum全為原始值0;
    for(i←a;i<←b;i++)
    {
        if(is(i))
        {
            count++;
            sum←sum+i;
        }
    }
    printf("count ← %d, sum ← %d\n",count,sum);      //printf輸出
}

1.2.2實驗代碼截圖

1.2.3造測試數據

輸入數據 輸出數據 說明
104 999 104 is counted.count = 15, sum = 3720 這個的各位數之和為5

1.2.4提交列表及說明


* 編譯錯誤:對於這一系列的編譯錯誤,無非還是小細節上的錯誤,比如說這一系列的操作【void count_sum( int a, int b ){ i,count=0,sum=0; if(is(i)){ count++;】,其實很難想到去這樣做,然而這些卻又是這道題的關鍵,審題不清,導致變量以及變量擺放的位置有點差異,所以會導致編譯錯誤。

二.代碼互評



* 第一個是我的,第二個是同學的,這兩個代碼差別不大,區別在於定義的變量數不一樣,前者比較定義得多,后者則比較簡潔,所以,整體看下來后者的代碼比較清晰易懂,他的思路也很清楚,這道題他的代碼優勢更突出。

3-1.學習進度條

周/日期 這周所花時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第一周(9.19-9.27) 7天 28行 學到了最簡單的格式以及一些些語法,懂得一些編譯的注意事項 不懂為什么要那樣注意編譯,錯一個像欠一個空格這樣的就都不對還有一些特定的符號的用處
第二周(9.25-10.4) 5天 20行 學會了對於程序設計的一些東西,比如計算啊,就會自己開始編程,解決問題時就會簡潔許多 不知道一些符號代表什么意思,就只是死記了下來
第三周(10.8-10.11) 3天 102行 這周PTA作業較多,難度系數較大,因為都不是書上的,要自己開始琢磨,怎么去排列和提出問題,學會的東西也更多,知道自己編程和自己想辦法去找錯誤,以及怎樣思考這樣的一些步驟 很多很多的#include代表什么意思,還增添了許多新符號,不知道是什么意思,只知道一些淺顯的表層使用
第四周 8個小時 84行 學到了新的“for"循環語句,又多懂了一些格式的注意事項 有時候自己的循環體有點搞不清楚,到底該怎樣去設
第五周 3天 89 學到了什么是調用函數(主調函數和被調函數)還有聲明函數 有些函數類型還不是特別熟悉
第六周 3天 124 學了分支結構,更加熟練運用if和else語句 感覺還行,沒有特別不會的地方
第七周 3天 91 學了switch語句,覺得更加好用,全是case比較簡單實用 switch語句掌握得還不是特別好,老是一下想不起來
第八周 3天 72 學了while語句和do while語句 pta作業有點難,還有一些搞不清的地方,while和do while做題目的時候不知道用哪個
第九周 3天 60 本周學了foe循環的嵌套語句 本周作業沒有完成得很好,還需要改進很多,對於for循環的使用得多多寫寫代碼,才能越來越熟練。
第十周 3天 123 本周算是將上幾周的內容概括了一遍 pta題目很難,問了許多人,改了許多遍才完成,也算記憶深刻一些吧
第十一周 3天 51 本周題目難度較大,學了新的函數名的調用,實參和形參,還有全局變量和局部變量 分不清全局變量跟局部變量,然后參數形式也不太懂

累計代碼行和博客字數

思維導圖

3.3學習感悟

 * 這周學習了關於形參和局部變量以及全局變量,我覺得有點難懂,函數名也挺多的,這次的pta作業超級難,我大部分題目都是猜加查資料,一個題目需要花費很長時間,所以印象自然會深一點點,但是還是有很多不懂得地方,我會多看看例題或問問其他人來解決。


免責聲明!

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



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