第四周作業


要求一:完成PTA的題目

截圖證明


要求二:4道題目

題目7-1 計算分段函數【1】

a.實驗代碼

#include <stdio.h>
int main()
{
  float a,b;
  scanf("%f",&a);
  if(a!=0)
  {
    b=1/a;
    printf("f(%.1f) = %.1f",a,b);
  }
  else
  printf("f(0.0) = 0.0");
  return 0;
}

b.設計思路

(1)描述算法
第一步:設置兩個數a,b,為浮點數,其中a相當於函數里的x,b相當於函數里的y;
第二步:輸入a;
第三步:寫if語句,b=1/a的輸出f(a) = b,否則輸出f(0.0)=0.0;
第四步:結束。
注意:最后保留小數點后一位,%.1f,而不是%f
(2)流程圖

c.本題調試過程碰到問題及解決辦法

(1)錯誤截圖

(2)問題及解決方法
編譯沒問題,但是答案錯誤,后經發現,不等於在if語句里是!=,而不是=!,改正后即可。

題目7-2 A除以B

a.實驗代碼

#include <stdio.h>
int main()
{
  int A,B;
  float C;
  scanf("%d %d",&A,&B);
   C=1.0f*A/B;
  if(B>0)
  {
  printf("%d/%d=%.2f",A,B,C);
}
  else if(B<0)
  {
    printf("%d/(%d)=%.2f",A,B,C);
}
  else
  {
    printf("%d/%d=Error",A,B); 
  }
  return 0;
}

b.設計思路

(1)描述算法
第一步:確立A、B為整型數,A除以B的得數C為浮點型數;
第二步:輸入A、B;
第三步:寫if語句,如果B>0,則輸出A/B=C,如果B<0,則輸出A/(B)=C,否則輸出A/B=Error
第四步:結束。
注意:最后保留小數點后2位,%.2f,而不是%f
(2)流程圖

c.本題調試過程碰到問題及解決辦法

(1)錯誤截圖

(2)問題及解決方法
經過檢查,發現忘記加"&"符號了,加上就正確了。

題目7-6 階梯電價

a.實驗代碼

#include <stdio.h>
int main()
{
  float a;
  scanf("%f",&a);
  if(a<=50&&a>0)
  {   
  printf("cost = %.2f",0.53*a);
}
  else if(a>50)
  {
    printf("cost = %.2f",26.5+(a-50)*0.58);
  }
  else
  {
    printf("Invalid Value!");
  }
  return 0;
  }

b.設計思路

(1)描述算法
第一步:設置某用戶的月用電量a為浮點型;
第二步:輸入a;
第三步:寫if語句,如果a>0且a<=50,則輸出花費的錢cost的值為0.53乘以a,如果a>50,則輸出花費的錢cost的值為26.5+(a-50)*0.58,否則輸出Invalid Value!
第四步:結束。
注意:小數點后保留兩位,寫%.2f;在if語句里&&表示“和“,輸出格式要和題目保持一致,最好用的辦法就是復制粘貼
(2)流程圖

c.本題調試過程碰到問題及解決辦法

本題未遇見任何問題

題目7-7 出租車計價

a.實驗代碼

#include <stdio.h>
int main()
{
  float a,d,e,f;
  int b,c;
  scanf("%f %d",&a,&b);
  c=b/5;
  d=10+c*2;
  e=10+2*(a-3)*1.0f+c*2;
  f=24+(a-10)*3*1.0f+c*2;
  if(a<=3)
  {
    printf("%.0f",d);
  }
  else if(a>3&&a<=10)
  {
    printf("%.0f",e);
  }
  else
  {
    printf("%.0f",f);
  }
    return 0;
}

b.設計思路

(1)描述算法
第一步:設置行駛里程a,3公里內所花的錢數d,10公里內所花的錢數e,總共花的錢數f為浮點型,等待時間b,每5min2元計時的個數c為整型;
第二步:輸入a,b;
第三步:寫if語句,如果a<=3,輸出d的值,如果a>3且a<=10,輸出e的值,否則輸出f的值;
第四步:結束。
注意:此題要四舍五入,即在輸出的時候寫上%.0f
另外,本題對我來說最大的難點是讀懂題目。題目翻譯一下,計價是在3公里內(包括三公里)都收10元,超出3公里以后,超出3公里,小於10公里的部分每公里加2元,大於10公里的部分每公里加3元,並且要看此人乘車用了多長時間,每5min收2元,不足5min的不收錢,比如乘車用了9min,那么就收2元,因為9min=5min+4min,4min不足5min,則只收2元。
(2)流程圖

c.本題調試過程碰到問題及解決辦法

(1)錯誤截圖

(2)問題及解決方法
本題無技術上的失誤,就是最開始沒讀懂題目,在想不足5min不收錢該怎么編,后來一下想到時間除以5得到的數設為整型,如果不足5min就是0了,就做出來了

要求三:上傳代碼

(1)我的Git地址:https://git.coding.net/jsjyuyaosong/usth--work.c.git
(2)上傳代碼截圖:



要求四:總結、點評及進度

1.總結

總的來說,這周我過的還算充實。主要就是完成PTA的作業,學習了if語句。
(1)我知道了要想用C語言描述根號,要在開始注明有math,在后寫sqrt(),就可以了;
(2)我還學到了在平時計算的時候,float句型要寫上.0f,而不是.0,寫.0電腦就會用double型來處理,而不是float型;
(3)還有就是四舍五入就是在輸出的時候想取幾位小數點就取幾位,這樣會自動四舍五入的;
(4)再有就是在scanf中&真的總忘寫,以后一定會多多注意這件事!

2.點評

點評同學的博客地址:
徐銘博:http://www.cnblogs.com/xmb1547828350/p/7719018.html
豐大為:http://www.cnblogs.com/DavidPark/p/7707156.html
劉煒旗:http://www.cnblogs.com/ryo-/p/7731894.html

3.進度

學習進度表及折線圖

注意:時間的單位為分鍾。

截止至目前:

學習進度表

折線圖

預期學習進度表

預期折線圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM