1. 程式人生 > >王思雨(第一次作業)

王思雨(第一次作業)

一.分支結構

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)折線圖: