第六周作業


(一)題目7-1 高速公路超速處罰

1.實驗代碼

#include<stdio.h>
int main()
{
  int a,b;
  double z;
  scanf("%d %d",&a,&b);
  z=(a-b)*100.0/b;
  if(z<10)
     printf("OK");
  else if(z<50)
     printf("Exceed %.0f%%. Ticket 200",z);
  else
     printf("Exceed %.0f%%. License Revoked",z);
  return 0;
}

2.設計思路

(1)題目算法

第一步:定義整數型變量a和b,a為車速,b為限速;浮點型變量z,z為超速百分比

第二步:輸入公式z=(a-b)*100.0/b

第三步:用if else寫出z<10、z<50時輸出的結果分別為“OK”、“Exceed %.0f%%. Ticket 200”以及"Exceed %.0f%%. License Revoked"

(2)流程圖

 

 

 

 3.本題調試過程遇到的問題及解決辦法

遇到的問題:編譯 沒有錯誤,但是運行的結果和PTA中給出的結果不一致

解決方法:最后

4.本題PTA提交列表

這道題出現錯誤很多次,一開始是沒讀懂題導致錯誤,后來明白z應該為超速的百分比,又經過多次改正,才得到正確的代碼

(二)題目7-2計算油費

1.實驗代碼

#include<stdio.h>
int main()
{
  int a,b;
  char c;
  double x;
  scanf("%d %d %c",&a,&b,&c);
   if(b==90)
   {
     if(c=='m')x=6.95*0.95*a;
     else x=6.95*0.97*a;
   }
    if(b==93)
    {
     if(c=='m') x=7.44*0.95*a;
     else x=7.44*0.97*a;
   }
   if(b=97)
    {
     if(c=='m')x=7.93*0.95*a;
     else x=7.93*0.97*a;
   }
   printf("%.2f\n",x);
    return 0;
  
}

2.設計思路

(1)題目算法

第一步:定義整數型變量加油量a,汽油品種b(90、93或97);定義字符型變量c(m-自助,e-協助);以及浮點型變量x,x為付款金額

第二步:列出計算公式,當服務類型是e和m時,分別輸出b=90、b=93、b=97時的x值

第三步:注意題目中要求保留兩位小數

第四步:輸出結果

(2)流程圖

3.本題調試過程遇到的問題及解決辦法

遇到的問題:編譯時出現錯誤

解決方法:詢問同學,得知c==m外應該用單引號

4.本題PTA提交列表

 

一開始將浮點型變量定義錯誤,所以導致編譯錯誤,然后就是和dev里面出現一樣的錯誤,忘記加單引號,部分正確那里是最后一個計算公式寫錯后來改正

(三)題目7-3比較大小

 1.實驗代碼

#include <stdio.h>
int main()
{
    int a,b,c,t;
    scanf("%d %d %d",&a,&b,&c);
    if (a>b){
      t=a;
      a=b;
      b=t;}
    if (a>c){
      t=a;
      a=c;
      c=t;}
    if (b>c){
      t=b;
      b=c;
      c=t;}
      printf("%d->%d->%d",a,b,c);
      return 0;
 } 

2.設計思路

(1)題目算法

第一步:輸入三個整數型變量a、b、c

第二步:將這三個數兩兩比較,並且用第四個變量t替換

第三步:輸出結果

(2)流程圖

3.本題調試過程遇到的問題及解決辦法

這道題在課堂上老師講過,所以沒有出現問題

4.本題PTA提交列表

編譯錯誤為符號分號打錯,后來重新打終於正確

(四)題目7-4兩個數的簡單計算器

1.實驗代碼

#include <stdio.h>
int main()
{
  int a,b;
  char x;
  scanf("%d %c %d",&a,&x,&b);
  switch (x)
  {
    case '+':printf("%d",a+b);break;
    case '-':printf("%d",a-b);break;
    case '*':printf("%d",a*b);break;
    case '/':printf("%d",a/b);break;
    case '%':printf("%d",a%b);break;
    default :printf("ERROR\n");break;
  }
  return 0;
}

2.設計思路

(1)題目算法

第一步:定義整數型變量a、b;定義字符型變量x

第二步:運用switch語句執行

第三步:寫出題目中所給的printf需要輸出內容

(2)流程圖

 

 

 3.本題調試過程遇到的問題及解決辦法

遇到的問題:編譯沒有錯誤,但是運行結果出錯

解決方法:參考別的同學的代碼,發現char則應該定義%c

正確截圖

4.本題PTA提交列表

由於switch那里沒有加大括號導致編譯錯誤

要求三

上傳git地址:https://git.coding.net/sunmeiling/sunmeiling.git

截圖:

要求四

本周總結

(1)本周你學習了哪些內容?收獲了什么?

本周復習了if else,並且學習了比較大小與交換變量,學習了循環結構,switch的用法,運用if else打代碼時,下一行需要進行縮進,學習了流程圖的畫法與while與do while的循環結構

 (2)本周所學內容中你覺得哪些是難點?有哪些知識點還不明白?

我覺得switch是難點,並且我不太會做流程圖,知識點都能聽明白,但是打代碼的時候總是出錯,不會運用到題目中

(3)你對目前老師的上課形式有什么意見或建議?

希望老師以后可以多帶領我們復習

要求五

點評同學的博客:

孫娜:http://www.cnblogs.com/sun-na-/p/7788913.html

馬宇欣:http://www.cnblogs.com/mayuxin/p/7792575.html

孫佳鈺:http://www.cnblogs.com/woshisun/p/7795878.html

 折線圖

表格

時間

代碼行數

代碼時間

博客字數

博客時間

知識點

11.5

50

30min

100

30min

復習If else

11.6

35

20min

50

15min

Switch語句

11.7

40

30min

80

25min

交換變量


免責聲明!

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



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