C語言I作業11


問題 答案
這個作業屬於那個課程 C語言程序設計II
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127
我在這個課程的目標是 熟練用C語言編程
這個作業在那個具體方面幫助我實現目標 各種類型函數的定義、調用和申明,熟悉變量的作用域、生存周期和存儲類型
參考文獻 百度

四、作業格式

1.PTA實驗作業(20分/題)

請再此處列出自己的排名圖片,如:

從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分),內容要求如下:

1.1 題目名16-1 統計某類完全平方數 (20分)

本題要求實現一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。
函數接口定義:
int IsTheNumber ( const int N );
其中N是用戶傳入的參數。如果N滿足條件,則該函數必須返回1,否則返回0。
裁判測試程序樣例:

include <stdio.h>

include <math.h>

int IsTheNumber ( const int N );

int main()
{
int n1, n2, i, cnt;

scanf("%d %d", &n1, &n2);
cnt = 0;
for ( i=n1; i<=n2; i++ ) {
    if ( IsTheNumber(i) )
        cnt++;
}
printf("cnt = %d\n", cnt);

return 0;

}

1.1.1數據處理

介紹實現本題過程中,你的數據表達、數據處理是怎么做的。注意:請務必按照以下方式書寫。
數據表達:用了哪些變量,這些變量的值是怎么來的,類型是什么。
數據處理:數據用到的表達式和流程結構。請用偽代碼表示
數據表達:變量n i k N,這些變量的值是由int定義來的,類型是整點型變量。
數據處理:表達式 m = i * i;m == N int k = 0; k < div; k++n % 10 == k if-else while for循環

偽代碼

先把接頭打出
然后給出所有變量。
再根據各個條件,通過if while for語句。判定條件滿足與否
然后用多個if循環對條件進行細分。
然后再用return 1 再次循環返回上層。
最后再輸出格式。
最后在return 0。

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入 輸出 說明
105 500 cnt = 6 用戶輸入的數中有6個滿足條件
11 12 cnt = 0 用戶輸入的數中有0個滿足條件
16 100 cnt = 0 用戶輸入的數中有1個滿足條件

1.1.4 PTA提交列表及說明


提交列表說明:有部分錯誤是在c++中,並在此一一列出。
答案錯誤 不理解該輸出的順序。最終在最后return 0這里出現了問題。我本想為return 1。
編譯錯誤 在接頭定義時出現問題。與上面的定義不符。大小寫問題。
答案錯誤 k的起始值定義錯誤。
答案錯誤 本來需要取余的。結果把百分號寫成了&
部分錯誤 在最后一個if中出現了問題 ==少寫了一個=

1.2 題目2

6-2 統計各位數字之和是5的數 (20分)

本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另一個函數統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。
函數接口定義:
int is( int number );
void count_sum( int a, int b );

1.2.1 數據處理

數據表達:用了哪些變量,這些變量的值是怎么來的,類型是什么。
數據處理:數據用到的表達式和流程結構。請用偽代碼表示
數據表達:用了x i b a sum number變量,這些變量由int定義來的,類型是整點型。
數據處理:數據用到的表達式 sum += x % 10;x /= 10;i <= b; i++ count++;sum += i;流程結構為if-else for while循環結構

偽代碼

通過接口處進行接int is (int number)
根據條件用while判斷滿足條件的數
然后再用for循環,把每一個數都判斷出來,最后儲存。
然后在輸出格式。
最后返回上層打印出來。

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入 輸出 說明
104 999 有15個滿足條件的數
100 1000 有15個滿足條件的數
1 1000 有21個滿足條件的數

1.2.4 PTA提交列表及說明

特別說明,有部分錯誤在c++中,並在此一一列出。
編譯錯誤 While循環語句中出現問題。x/=10錯誤。
答案錯誤 也同樣是在個這個while循環中。本來是要寫return 1的寫為return 0了。不明確循環的目的。
答案錯誤 count自增時出現問題。后面的分號忘記打了。
編譯錯誤 Print最后輸出時少了一個分號。

2.代碼互評(5分)

找2份同學代碼,和自己代碼比較,建議互評代碼盡量找代碼風格差異較大。
同學代碼截圖

自己代碼截圖

if else for循環語句中條件不同。在比較時輸出也不同。
在判斷一個整數是完全平方數時。判斷條件的順序不盡相同。
for (int k = 0; k < div; k++)
同學代碼截圖

自己代碼截圖



在這個for語句中。在對i進行賦值時,出現了不同。
在寫sum=sum+i時其實意義是相同的。也並沒有什么更高級之分。不過也就那樣。

3.學習總結(15分)

3.1 學習進度條(5分)

日期 這周所花時間 代碼行 學到的知識點簡介 目前比較迷惑的地方
9/16~9/22 兩天 30 在屏幕上顯示hello Word! 編程操作
9/23~9/30 兩天半 100 求華氏溫度對應的攝氏溫度 運算符不理解
10/7~10/12 四天 240 計算分段函數 不理解為什么要那樣打,有些東西代表的含義
10/14~10/18 8個小時 310 使用for循環語句實現指定次數的循環程序設計 還是有很多代碼,不知道什么意思,為什么要這么打?
10/23~10/26 10小時 420 生成乘方表和階乘表,對函數的定義和調用有初步的認識,能模仿編程 部分運算符的運算順序。
10/28~11/02 八個小時 640 熟悉分支結構,字符型數據類型和邏輯運算符 分支結構的類型。運算邏輯符的運算順序
11/5~11/8 6個小時 740 寫偽代碼 使用switch語句 部分使用條件
11/12~11/16 8小時 830 使用while和do-while結構解決問題 嵌套關系與順序
11/20~11/22 6小時 1020 熟悉使用循環的嵌套解決問題 嵌套關系與順序
11/27~11/29 6小時 1200 能夠根據實際情況,選擇合適的算法、合理的循環結構,熟練的編寫程序 不知如何選擇合適的算法,部分算法不理解
12/4~12/6 5小時 1304 掌握各種類型函數的定義、調用和申明,熟悉變量的作用域、生存周期和存儲類型 不怎么熟悉變量的作用域、生存周期和存儲類型

3.2 累積代碼行和博客字數(5分)

3.3 學習內容總結和感悟(5分)

3.3.1 學習內容總結

3.3.2 學習體會||

我真的不知道說什么好了。我懂得C語言之所以衰敗的緣由了。沉默和沉默呵,不在沉默中爆發,就在沉默中滅亡。總需要人在前面做鋪墊。才能成就美好的未來。為了使老師能夠更好地了解我們,我們必須給他一點顏色。老師你真的把我們當神仙了是嗎?您真的認為我們這么優秀嗎?如果你真的這么想的話,那你就大錯特錯了。我在這里僅代表我個人,讓你能夠更加清楚的了解到我們。其實我們就是菜鳥。可能連菜鳥都算不上我。好的,我的學習體會就這么多了。


免責聲明!

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



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