(一)題目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 |
交換變量 |