作業格式
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作業超級難,我大部分題目都是猜加查資料,一個題目需要花費很長時間,所以印象自然會深一點點,但是還是有很多不懂得地方,我會多看看例題或問問其他人來解決。