王思雨(第一次作業)
一.分支結構
7-1 計算存款利息 (10 分)
本題目要求計算存款利息,計算公式為interest=money×(1+rate)year−money,其中interest為存款到期時的利息(稅前),money是存款金額,year是存期,rate是年利率。
輸入格式:
輸入在一行中順序給出三個正實數money、year和rate,以空格分隔。
輸出格式:
在一行中按“interest = 利息”的格式輸出,其中利息保留兩位小數。
輸入樣例:
1000 3 0.025
輸出樣例:
interest = 76.89
1.插入程式碼
#include<stdio.h> #include<math.h> int main() { float money,year,rate,interest; scanf("%f%f%f",&money,&year,&rate); interest = money*pow((1 + rate),year)-money; printf("interest = %.2f",interest); return 0; }
2、設計思路:
(1)文字描述:
第一步:定義所需變數:為存款到期時的利息(稅前)interest,存款金額money, 存期year,年利率rate;
第二步:利用scanf函式對存款金額money, 存期year,年利率rate進行賦值;
第三步:列出計算公式 interest = money*pow((1 + rate),year)-money;
第四步:利用printf函式列印利息interest,注意,因為要求小數點後保留兩位,所以用%.2f的形式;
(2)流程圖:
3.本題除錯過程碰到問題及解決辦法
(1)錯誤提示:
a、POW函式格式錯誤,無法執行;
b、字元與運算子沒有用空格鍵間隔開來,如圖:
(2)解決辦法:
a、使用正確的pow運算形式:pow((1 + rate),year);
b、規範書寫,將其隔開,如圖:
二、計算機18秋_迴圈1
7-6 求1到100的和 (10 分)
本題要求編寫程式,計算表示式 1 + 2 + 3 + ... + 100 的值。
輸入格式:
本題無輸入。
輸出格式:
按照以下格式輸出:
sum = 累加和
1.插入程式碼
#include<stdio.h> int main() { int i,sum = 0; for(i = 1;i <= 100;i++){ sum = sum + i; } printf("sum = %d\n",sum); return 0; }
2、設計思路:
(1)文字描述:
第一步:定義所需變數:迴圈數值 i ,累加和 sum ;
第二步:利用for迴圈,將 i 定為迴圈變數,對sum進行累加求和一百次;
第三步:利用printf函式將sum的數值打印出來;
(2)流程圖:
3.本題除錯過程碰到問題及解決辦法
(1)錯誤提示:
a、變數書寫錯誤:誤將迴圈變數 i 書寫成了 t;
b、便捷運算子使用錯誤:錯誤地將 sum = sum + i 改寫成為 sum += t,如圖:
(2)解決辦法:
a、將變數更正;
b、規範書寫,將sum = sum + i正確書寫,如圖:
三、計算機18秋-迴圈2
7-7 尋找250 (10 分)
對方不想和你說話,並向你扔了一串數…… 而你必須從這一串數字中找到“250”這個高大上的感人數字。
輸入格式:
輸入在一行中給出不知道多少個絕對值不超過1000的整數,其中保證至少存在一個“250”。
輸出格式:
在一行中輸出第一次出現的“250”是對方扔過來的第幾個數字(計數從1開始)。題目保證輸出的數字在整型範圍內。
輸入樣例:
888 666 123 -233 250 13 250 -222
輸出樣例:
5
1.插入程式碼
#include<stdio.h> int main() { int a,b=0,c; while(a!=250) { scanf("%d",&a); b++; } printf("%d",b); return 0; }
2、設計思路:
(1)文字描述:
第一步:定義所需變數:a,b,c, 並將數值0賦予b ;
第二步:利用while迴圈,將 a 定為迴圈變數,在while迴圈中利用scanf函式對a賦值,在a不等於250的情況下持續迴圈,每一次迴圈b + 1;
第三步:利用printf函式將b的數值打印出來,b數值即為對方扔過來的第幾個數字(計數從1開始);
(2)流程圖:
3.本題除錯過程碰到問題及解決辦法
(1)錯誤提示:
a、沒有對變數b進行賦值,程式無法進行或數值錯誤 ;
b、部分“;”並未打出,修改過程中誤將輸入法選成中文,程式無法執行,如圖:
(2)解決辦法:
a、將數值0賦予b;
b、將字元“;”用中文輸入法寫入,如圖:
四、總結和學習進度條
1、總結這幾周所學內容、遇到的問題以及解決方法:
(1)所學內容:這幾周主要對分支結構、迴圈結構以及函式進行了初步學習,通過課堂上老師的講解以及課下對程式碼的積累,對C語言有了進一步的瞭解,初步瞭解了for,while,if等語句的意義及書寫方式
包括整體變數與區域性變數的區別等內容有了初步認知。
(2)遇到的問題:
a、在pta部分迴圈作業中對迴圈的巢狀掌握不熟練;
b、在部分難點運算中有時不能對主迴圈與內迴圈的位置進行確認,出現了好幾次的程式碼混亂的情況;
c、敲擊程式碼過程中經常出現忘,漏“;”的情況,正在加強練習;
(3)解決方法:
a、反覆練習,多做多練;
b、通過巨集觀的流程圖對程式碼進行程式設計;
c、通過觀看中國大學MOOC的網課,對函式數進行復習。
2、點評:
a.範朋翔
b.黃興宇
c.張學友
3、這幾周的程式碼行數和時間、部落格字數和時間、涉及的知識點。
(1)表格:
(2)折線圖: