C语言博课作业11
一.本周作業頭
| 這個作業屬與那個課程 | C語言程序設計I | |
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10130 | |
| 我在這個課程課程目標是 | 學會簡單自我編譯基礎代碼,入門C語言。 | |
| 這個作業在那個具體方面幫我實現目標 | 函數 要求學生掌握各種類型函數的定義、調用和申明,熟悉變量的作用域、生存周期和存儲類型 | |
| 參考文獻 | 《中國大學MOOC》 《百度》《思維導圖》《C語言中文網》 |
一.本周作業
PTA實驗作業
代碼互評
學習總結
1.PTA實驗作業
1.1 題目名:
統計某類完全平方數
內容描述:本題要求實現一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。
函數接口定義:
int IsTheNumber ( const int N );
其中N是用戶傳入的參數。如果N滿足條件,則該函數必須返回1,否則返回0。
1.1.1數據處理
* 1.數據表達:用了變量 i,n,flag,tmp;
分別代表行數和循環累加,屬于整型變量。
用 int a[10] = {0};變量代表數組利用入,屬于整型變量。
* 2.數據處理:
數據用到的表達式:賦值 如把int n=N;算術運算符利用累加和除法,關系運算符比較
流程結構用for語句和判斷語句if。
1.1.2實驗代碼截圖
1.1.3 造測試數據
| 輸入數據 | 輸出數據 | 說明 |
| 23 1879 | ||
| 56 999 | ||
| 45 788 |
1.1.4 PTA提交列表及說明
PTA提交列表
提交列表說明:
* 1.答案正確:在dev-c++上編譯了整整兩天,開始的時候一直寫不出來,沒有思路,簡直不知如何下手,幸運得高人指點,有自己思路,但在編譯過程中出現各種奇葩錯誤,把{打成了【,少了do-while語句的do,在viod()語句后加分號;改了好久;
## 1.2 題目2
內容描述:統計各位數字之和是5的數
本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等于5;另一個函數統計給定區間內有多少個滿足上述要求的整數,并計算這些整數的和。
函數接口定義:
int is( int number );
void count_sum( int a, int b );
函數is判斷number的各位數字之和是否等于5,是則返回1,否則返回0。
函數count_sum利用函數is統計給定區間[a, b]內有多少個滿足上述要求(即令is返回1)的整數,并計算這些整數的和。最后按照格式
count = 滿足條件的整數個數, sum = 這些整數的和
1.2.1 數據處理 :
* 1.數據表達:用了變量j,n,i,代表整數,用于循環,屬于整型變量。
用變量num,代表累加和變量定義,屬于整型變量。
* 2.數據處理:
數據用到的表達式:賦值 如把i=2; 算術運算符利用累加和除法,關系運算符比較 i <= n;
流程結構 ;用循環結構for語句,函數的運用,if-else語句;順序結構。
1.2.2 實驗代碼截圖
1.2.3 造測試數據
| 輸入數據 | 輸出數據 |
| 104 999 | 104 is counted.count = 15, sum = 3720 |
1.2.4 PTA提交列表及說明
* 1.編譯錯誤:前提是開始在dev-c++上運行出現了很多次,最開始出現很多錯誤,一個一個的找。#include<math.h>就這一個改了3次才成功,最開始漏了打,后來還出現include少了后面的e,徹底記住這個教訓了。還有printf("%d
",num);少了分號;
2.代碼互評
找2份同學代碼,和自己代碼比較,建議互評代碼盡量找代碼風格差異較大。
第一位同學:梅深數
<1>同學代碼截圖
<1.1>自己代碼截圖
對比小結:
* 1.都用了int <math.h>,運用了數學文件,不過我用的是開平方跟,她用除于2,對半分,各有各的優勢。
* 2.我們用的變量不同,我的用了break語句,而她直接用賦值b=1來判斷if成立條件。
* 3.他的排版比我的簡潔,應該像他多學習。
第二位同學:三角形字符
<1>.同學代碼截圖*
<2>.自己代碼截圖
對比小結:
* 1.她的用了get char(),輸入一個字符;我們定義變量不同
* 2.都用兩個for語句循環搞定了,不過我不能理解她最后還用m--是什莫意思;
* 3.我覺的我的格式比她規范一點;
3.學習總結(15分)
3.1 學習進度條
| 周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點 | 簡介目前比較迷惑的問題 |
|---|---|---|---|---|
| 第一周10.01-10.07 | 26小時 | 65行 | 溫度轉換 | 為什么要自己去安裝MinCW-w64 |
| 第二周10.09-10.12 | 22小時 | 66行 | 進行了攝氏溫度和華氏溫度的轉換。注意:F=C×9/5+32,溫度值取浮點數類型 | 有關于溫度轉換公式 |
| 第三周10.14-10.17 | 20小時 | 85行 | 循環結構for,%的部分含義,sum的意義 | item的具體使用方面,相關含義 |
| 第四周10.23-10.26 | 14小時 | 55行 | 編寫函數,懂得分號的含義,怎樣用for語句 | 素數的判斷該如何更簡單編寫程序 |
| 第五周10.30-11.02 | 22小時 | 75行 | 熟悉多分支結構、字符型數據類型 | 邏輯運算符利用,算數優先級從那邊開始運算 |
| 第六周10.30-11.02 | 22小時 | 75行 | 熟悉多分支結構、字符型數據類型 | 邏輯運算符利用,算數優先級從那邊開始運算 |
| 第七周11.05-11.07 | 04小時 | 35行 | 分支結構 熟悉多分支結構switch語句的使用 | for語句的插入和分支的陷入 |
| 第八周11.10-11.15 | 06小時 | 65行 | for語句確定循環次數,while明確循環終止條件,do-while語句是必須要執行一次 | 二進制與十進制轉換 |
| 第九周11.18-11.21 | 10小時 | 98行 | continue表示結束本次循環,而不終止整個循環的執行。而是結束本次循環,進行下一次循環 | 沒有看懂for語句使用 |
| 第十周11.26-11.29 | 8小時 | 118行 | 復習循環嵌套語句,綜合介紹循環結構的程序設計,同學講解代碼有關于換算問題,for語句的使用 | 硬幣的換算 |
| 第十一周12.1-12.6 | 30小時 | 96行 | 掌握各種類型函數的定義、調用和申明,熟悉變量的作用域、生存周期和存儲類型 | 對于函數的使用還有很大問題 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
整理本周學習的主要知識點有:
3.3.2 學習體會
(1):定義在函數內部的變量稱為局部變量(Local Variable),它的作用域僅限于函數內部, 離開該函數后就是無效的,再使用就會報錯;
(2):
在 main 函數中定義的變量也是局部變量,只能在 main 函數中使用;同時,main 函數中也不能使用其它函數中定義的變量。main 函數也是一個函數,與其它函數地位平等。
形參變量、在函數體內定義的變量都是局部變量。實參給形參傳值的過程也就是給局部變量賦值的過程。
可以在不同的函數中使用相同的變量名,它們表示不同的數據,分配不同的內存,互不干擾,也不會發生混淆。
在語句塊中也可定義變量,它的作用域只限于當前語句塊。
(3)例句說明:
int f1(int a)
{
int b,c; //a,b,c僅在函數f1()內有效
return a+b+c;
}
int main()
{
int m,n; //m,n僅在函數main()內有效
return 0;
總結
- 上一篇: 电商第一季函数笔记(1)
- 下一篇: Brocade博科光纤交换机zone配置