問題 | 回答 |
---|---|
這個做業屬於那個課程 | C語言程序設計II |
這個做業要求在哪裏 | 做業要求 |
我在這個課程的目標是 | 本身設計一個小遊戲 |
這個做業在那個具體方面幫助我實現目標 | 在PTA練習中屢次使用自定義函數和庫函數 |
參考文獻 | C語言程序設計II,百度百科 |
函數接口定義:算法
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; } /* 你的代碼將被嵌在這裏 */
輸入樣例:markdown
數據表達:定義了n接受N的平方根乘n的平方根,N是輸入的整數,定義一個10位的數組num用了收集n的值;n1,n2爲輸入的取值範圍,i用於控制循環,cnt用於記數
數據處理:函數
int IsTheNumber ( const int N ) 定義整形變量i循環終止條件,n是N的平方根乘n的平方根 定義數組num[10]並將數組初始化爲0 n=(int)sqrt(N)*(int)sqrt(N) /*利用函數sqrt()進行判斷是否爲徹底平方數*/ if(n==N) /*在徹底平方數的基礎上進行判斷第二步*/ while(n!=0) /*檢驗數字是否相同*/ for(i=0;i<10;i++) if(n%10==i) num[i]累加 if(num[i]==2) /*判斷是否有相同的數字*/ 返回值爲1 end if end if end for n←n/10 end whlie 返回值爲0 end if else 返回值爲0
輸入數據 | 輸出數據 | 說明 |
---|---|---|
105 500 | cnt = 6 | 題中數據 |
0 100 | cnt = 1 | 題中數據左側 |
500 1000 | cnt = 2 | 題中數據右側 |
提交列表說明:
編譯錯誤:開始忘了把數組初始化。
編譯錯誤:錯把num[i]==2打成num[i]=2學習
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 = 這些整數的和3d
進行輸出。題目保證0<a
≤b
≤10000。
#include <stdio.h> int is( int number ); void count_sum( int a, int b ); int main() { int a, b; scanf("%d %d", &a, &b); if (is(a)) printf("%d is counted.\n", a); if (is(b)) printf("%d is counted.\n", b); count_sum(a, b); return 0; } /* 你的代碼將被嵌在這裏 */
數據表達:定義了整形變量a,b爲輸入的範圍,自定義函數is並定義了整形變量i,sum,其中sum爲number的每一位相加的和,i爲返回值;
自定義函數count_sum並定義了整形變量count,sum,i,其中count爲記錄知足要求的個數,sum爲每個知足條件的數的和,i用來控制循環。
數據處理:
int is(int number) 定義整型變量c,d 定義整數變量sum並賦值爲0 while(number!=0)/*number是否等於0*/ c←number%10 sum←sum+c number←number/10 end while if(sum==5) /*判斷各位數之和是否等於0*/ 返回值爲1 else 返回值爲0 end if-else end void count_sum( int a, int b ) 定義整型變量i爲控制循環 定義整型count用於記錄知足條件數的個數,sum1爲知足條件的每個數累加的和 for(i=a; i<=b; i++) /*在區間a-b中循環尋找各位數字之和是5的數*/ if(is(i)) count累加 sum1←sum1+i end if end for 輸出count = , sum = end
輸入數據 | 輸出數據 | 說明 |
---|---|---|
104 999 | 104 is counted. count = 15, sum = 3720 |
題中數據 |
0 103 | count = 6, sum = 165 | 題中數據左側 |
1000 9999 | count = 35, sum = 73885 | 題中數據右側 |
提交列表說明:
編譯錯誤:錯把number=number/10;打成number=number%10;
同窗代碼是用n代替N,個人n是兩個根號下N相乘,他用m等於根號下n,m乘m來代替個人n,我這樣少一個變量,咱們算法差很少,就if語句中判斷條件有點不同。
1.他的代碼較亂,並且變量多一點,個人比較清晰。
2.在判斷N是否知足條件上,他的判斷語句是(b[a[i]]==1),而個人判斷語句是知足s[i]==2,返回1,知足n/=10,返回0。
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
9.16~9.22 | 6h | 20 | 初步瞭解編程如何進行 | 編程開始的單詞有什麼做用,編譯是如何進行的 |
9.23~10.6 | 30h | 30 | 學會運用markdown語法和了解博客園做業格式 | 如何在博客隨筆字體加顏色 |
10.7~10.11 | 48h | 235 | 學會了if語句和編程的數學函數怎麼寫 | while語句如何使用和電腦上表格和why手機上順序不同 |
10.14~10.20 | 36h | 100 | 掌握使用for循環語句 | 對多種循環結構不夠了瞭解以及分支結構和循環結構同時使用的編程前後。 |
10.20~10.27 | 32h | 135 | 如何對函數的定義和調用,思惟導圖 | 函數的調用和定義有沒有侷限性。 |
10.28~11.3 | 36h | 512 | 熟悉多分支結構、字符型數據類型和邏輯運算符 | 四則運算和字符型變量 |
11.4~11.10 | 12h | 232 | 熟悉多分支結構switch語句的使用 | 在博客園中如何添加小掛飾 |
11.11~11.17 | 18h | 263 | 熟悉使用while和do-while結構 | 字符的實際使用 |
11.18~11.24 | 20h | 186 | 熟悉break、continue的使用,熟悉使用循環的嵌套解決問題 | 嵌套循環的邏輯 |
11.25~12.1 | 22h | 270 | 選擇合適的算法、合理的循環結構,熟練的編寫程序 | 數組的運用 |
12.2~12.8 | 30h | 215 | 掌握各類類型函數的定義、調用和申明,熟悉變量的做用域、生存週期和存儲類型 | 不太明白變量的生存週期 |
本學期最後一次做業感受有點難度啊,尤爲是編程題,我第一題從3分到4分到5分,太難受了,一個虛數輸出問題,我就搞了半天,i無值,因此不能直接輸出,實數部分和虛數部分系數分開求才能實現,但仍是隻有5分,還有5個測試點錯誤,我打算在Dev上一個一個測試,看到底那錯了,回顧這一學期,其中有時候偏離了本身的目標,距離目標仍是太遠了,在最後這一段時間我但願本身堅持學習,儘可能考個好分數,個人博客各向指標也該提高點了畢竟分數不能總停在那裏,沒進步就是退步,加油,奧利給。