這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/ |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11452 |
這個作業的目標 | 自主學習,鞏固學習了的語句,多刷題 |
學號 | 20208938 |
1.PTA實驗作業
1.1 整數四則運算 (10分)
本題要求編寫程序,計算2個正整數的和、差、積、商並輸出。題目保證輸入和輸出全部在整型范圍內
1.1.1實驗代碼截圖
1.1.2數據處理
數據表達:在一行中定義2個正整數變量a和b
數據處理:輸入變量a和b,能在printf語句中進行運算
1.1.3 PTA提交列表及說明
1.2求簡單交錯序列前N項和 (15分)
本題要求編寫程序,計算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N項之和。
1.2.1實驗代碼截圖
1.2.2數據處理
數據表達:變量q,s,t,N,sum;i為循環數,
數據處理:運用了for循環語句,對循環變量賦初值,指定循環起點,定義整型變量。
給出循環條件,判斷循環變量是否超過循環終點。
1.2.3PTA提交列表及說明
·Q1:不明白+=的運算定義,導致賦值錯誤
·A1:+=是C語言中的一種復合賦值運算符,a+=b 等價於 a=a+b
·Q2:沒有給i定義,導致編譯錯誤
·A1:在for語句前增加定義i=1
1.3 求分數序列前N項和 (15分)
計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。
1.3.1實驗代碼截圖
1.3.2數據處理
數據表達:雙精度浮點數double,定義i,x,y,z,N,sum,double型數據用%.lf
數據處理:運用for循環結構,循環語句sum=sum+x/y;
z=x; x=y+x; y=z;
1.3.3PTA提交列表及說明
Q1:題目要求沒看,導致答案錯誤
A1:將printf語句中的%d改為%.lf
Q2: 不明白怎樣把分數表達出來,分數的相加表達不出來
A2:用字母x,y,z,分別表達分子分母的增加
閱讀代碼
#include<stdio.h>
int fun(int m,int n) //m個蘋果放在n個盤子***有幾種方法
{
if(m==0||n==1) //因為我們總是讓m>=n來求解的,所以m-n>=0,所以讓m=0時候結束,如果改為m=1,
return 1; //則可能出現m-n=0的情況從而不能得到正確解
if(n>m)
return fun(m,m);
else
return fun(m,n-1)+fun(m-n,n);
}
int main()
{
int T,m,n;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&m,&n);
printf("%d\n",fun(m,n));
}
}
運用了if語句和while語句,scanf語句,int整型,並且邏輯語句清楚,有條理,但是我沒有理解這個代碼
3.學習總結
3.1學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第十周 | 28小時 | 178 | for語句循環 | scanf語句和算數表達式、關系表達式 |
第九周 | 23小時 | 143 | scanf語句 | scanf語句的表達式,算數表達 |
3.2累積代碼行
)
3.3學習感悟
在編寫代碼時,經常會出現很多問題,比如編程錯誤,答案錯誤等等,然而自己又找不到錯誤,就會很煩躁,
所以自己就要細心平靜一點,平時也可以去多問老師,多做題目,培養自己的能力,以免以后不會的時候束手無策。