問題 | 答案 |
---|---|
這個作業屬於哪個課程 | C語言程序設計Ⅱ |
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/9828 |
我在這個課程的目標是 | 精通C語言,學會寫代碼 |
這個作業在那個具體方面幫助我實現目標 | 讓我初步學會去定義函數,用自己定義的函數去解決一些數學問題。學會去分析問題 |
參考文獻 | C語言程序設計Ⅰ |
1.PTA實驗作業。
從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分),內容要求如下:
1.1判斷一個整數的各位數字平方之和能否被5整除
編寫函數fun,其功能是:判斷一個整數的各位數字平方之和能否被5整除,可以被5整除則返回1,否則返回0。
函數接口定義:·int fun(int n)·
其中 n 是用戶傳入的參數。 函數判斷n的各位數字平方之和能否被5整除,能被5整除則返回1,否則返回0。
裁判測試程序樣例
···
#include <stdio.h>
int fun( int n );
int main()
{
int m;
scanf("%d", &m);
printf("The result is %d\n", fun(m));
return 0;
}
/* 你的程序將被嵌入在這里 */
···
1.1.1數據處理
數據表達:定義了整形變量sum,result,i.
數據處理: 表達式-sum=sum+pow(i,2),sum%5==0.用了while循壞結構和if-else結構。
函數參數:主調函數main( ),被調函數int fun(int n)類型為整形,形參為整形n,實參為整形m。
1.1.2實驗代碼截圖
1.1.3造測數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
12 | The result is 1 | 12各位數字平方之和能被5整除 |
123 | The result is 0 | 123各位數字平方之和不能被5整除 |
5 | The result is 0 | 5的平方不能被5整除 |
1.1.4 PTA提交列表及說明
提交列表說明
1.編譯錯誤:if后面有兩個語句,忘記加{ }.
1.2水仙花數判斷。
本題要求實現一個函數,判斷任一整數是否為水仙花數(必須是三位數,且數的每一位上數字的立方和與數本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155則不是水仙花數。如果是水仙花數,則函數返回1,否則返回0.
函數接口定義:·int func(const int N)·
裁判測試程序樣例:
···
#include <stdio.h>
int func(const int N);
int main()
{
int N;
scanf("%d", &N);
printf("%d\n", func(N));
return 0;
}
/* 請在這里填寫答案 */
1.2.1數據處理
數據表達:定義了整形變量sum,x,i.初始化sum=0。
數據處理:表達式- x=i%10; sum=sum+pow(x,3); i=i/10;流程結構:while循環結構和if-else結構。
**函數參數:主調函數main( ),被調函數int func(const int N),形參為整形N,實參為整形N。
1.2.2實驗代碼截圖
1.2.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
12 | 0 | 12不是水仙花數 |
153 | 1 | 153是水仙花數 |
21 | 0 | 21不是水仙花數 |
1.2.4PTA提交列表及說明
提交列表說明
1.部分正確:把i=N寫成了i==N.
2.代碼互評
同學代碼截圖
自己代碼截圖
1.同學代碼用了for( )循環結構,我用了while循環結構。while( )循環()里面只需要寫循環條件,而for( )循環( )還要初始化變量以及循環補償表達式。
2.我還用了數學函數。
同學代碼截圖
自己代碼截圖
1.同學定義變量m,n為浮點型,而我定義為整形,不過題目要求為整形,他的不知道為什么對了。
2.他變量定義的比較簡單,我的讓人更容易理解。
3.學習總結
3.1學習進度條
周/日期 | 這周所花時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷茫的問題 |
---|---|---|---|---|
第五周 | 一天 | 142 | 對函數的定義和調用有初步的認識 | 在函數的定義中是否可以輸入形參的值 |
3.2累積代碼行和博客字數
3.3學習內容總結和感悟。
3.3.1學習內容總結
3.3.2學習體會
1.這一周機課要做的作業完成的比較順利,在第一道題需要調試時,我感覺我可能完成不了,因為我上次也在調試這里卡殼,一直弄不好。但是這一次用學校的電腦就完成了,還是很開心的。最后一道題我找的錯誤只有一處,后來才發現我自己把函數聲明后面要加的分號加了。提交時,我以為我提交成功了,在下課后,我再去看發現還沒有提交,真心感嘆學校網速不好。
2.初學對函數的定義和調用,對函數的定義和調用有初步的認識。開始的時候不是特別理解,看書后慢慢的懂了點。