作業要求【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293】
第三次作業(條件)題目7-3 分段計算居民水費
1.實驗代碼:
#include<stdio.h> int main() { int x; float y; scanf("%d", &x); if(x <= 15){ y = 4.0 * x / 3.0; } else{ y = 2.5 * x - 17.5; } printf("%.2f", y); return 0; }
2.解題思路:
(1)
第一步:首先,定義一個整數變量x(月用水量)和一個浮點型變量y(居民應交水費);
第二步:再輸入當月用水量x;
第三步:如果月用水量小於15噸,那就將輸入的值代入y = 4.0 * x / 3.0,得到居民應交水費y的值,否則就帶入y = 2.5 * x - 17.5,得到居民應交水費y的值;
第四步: 通過選擇,最后輸出居民應交水費y的值。
(2)流程圖:
3.題目遇到的問題及方法:
運行結果截圖:
錯誤調試截圖:
3.題目遇到的問題及解決方法:
在輸入時我忘記了在x前面加&,導致提交時錯誤,慢慢靜下心看pta的錯誤提示,發現自己忘了加&,再次提交就通過了,並且為了不再犯這個小錯誤,每次打輸入的代碼時我都會慢一點。
第四次作業(條件)題目7-2 高速公路超速處罰
1.實驗代碼:
#include<stdio.h> int main(){ double a,b,x; scanf("%lf %lf", &a,&b); x=100*(a-b)/b; if(x < 10){ printf("OK");} else if(x < 50){ printf("Exceed %.0f%%. Ticket 200\n", x); } else if(x >= 50){ printf("Exceed %.0f%%. License Revoked\n", x); } return 0; }
2.解題思路:
(1)
第一步:首先,定義三個浮點型量a(車速),b(限速),x(超出限速的百分數);
第二步:再輸入兩個數分別作為a(車速),b(限速)的值;
第三步:根據計算公式x=100*(a-b)/b,得出超出限速的百分數;
第四步:如果x小於15,那就屬於正常行駛,就輸出OK;不小於15的話,如果x小於50,則應處罰款,輸出Exceed x%. Ticket 200,輸出罰款數;
以上兩個都不符合時,則應吊銷駕駛證,輸出Exceed x%. License Revoked;
第五步: 通過判斷選擇,得出最后的處理方案。
(2)流程圖:
3.題目遇到的問題及解決方法:
運行結果截圖:
錯誤調試截圖:
3.題目遇到的問題及解決方法:
在做這道題時,我首先在de-c++上運行運行了許多次,因為對if-else嵌套語句的不熟悉,{} 經常用錯了,不是 } 多了,就是 {少了,編譯時一直都是錯的,不過,通過中國大學慕課網上翁愷老師的c語言程序設計課程的學習,慢慢的我也理解了if-else嵌套語句,通過找每一個{都會與}對應,最后解決了這個問題。
4.個人總結:
(1)本周學習內容與收獲
本周通過課上和課下的學習,我主要學習了分支結構的if語句,嵌套的if-else,還有switch語句和for語句-循環語句;收獲最大的是學會了for語句,因為for語句是我們平時用的特別多的一個語句,而其使用for語句也可以使我們少打許多的代碼,同時運用條件語句可以處理那些需要判斷的問題,使我們的編譯更加簡潔。
(2)難點與措施
學習過程中遇到的第一個難點是嵌套的if-else的使用,各種 { 和 } 找對應的有點困難,不過在自己的耐心觀察下,還是解決了這個問題;第二個難點是switch語句的break的使用,經常忘記在語句段后面加break,導致pta的作業一直通過不了,在詢問同學和上網查閱之后,知道了break的含義,解決了這個問題;第三個難點是for語句中的那三個表達式在運行中的先后順序問題,在問過同學們后,理解了它的運行順序,解決了這個問題。
5.統計圖表:
6.點評:
(1)【https://www.cnblogs.com/wangxiangbo/p/9903569.html】
(2)【https://www.cnblogs.com/yangzhenghui/p/9900452.html】
(3)【https://www.cnblogs.com/zduangduang/p/9908232.html】
---恢復內容結束---