作業要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292
第三次作業:7-3 分段計算居民水費
# include <stdio.h> int main(void) { double x,y; scanf("%lf",&x); if(x<=15){ y = 4*x/3; } else{ y = 2.5*x-17.5; } printf("%.2f\n",y); system("pause"); return 0; }
解題思路:
1.定義兩個雙浮點型變量:x,y
2.如果x<=15,進行y=4*x/3
如果x>15,進行y=2.5*x-17.5
3.輸出y,兩位小數的精度
流程圖:
運行結果:
輸入了一個[0,15]區間的數字,輸入結果卻是0;
后來通過流程圖我發現,x<0那一步是多余的,然后把那一步去掉了:
輸出結果還是0;然后開始進行調試,因為在[0,15]區間的計算出了問題,所以在那里設置了斷點:
通過調試,發現不是那里的問題,然后我詢問了同學,他說scanf里不用加.2,然后我把.2去掉了然后運行:
然后得出了正確答案。
第四次作業:7-1計算個人所得稅
#include <stdio.h> int main () { int x; double y; scanf("%d",&x); if(x <= 1600){ y = 0; } else if(x > 1600 && x <= 2500){ y = 0.05 * (x - 1600); } else if(x > 2500 && x <= 3500){ y = 0.10 * (x - 1600); } else if(x > 3500 && x <= 4500){ y = 0.15 * (x - 1600); } else if(x > 4500){ y = 0.20*(x - 1600); } printf("%.2f\n",y); return 0; }
解題思路:
1.定義整型變量x,和雙浮點型變量y
2.根據題目給的文字,輸入計算函數
3.輸出y,精准度為小數點后兩位
流程圖:
運行結果:
一開始我在devc++上運行,並沒有顯示錯誤,但是在PTA上卻有報錯,然后我進行了調試:
然后發現調試也沒有錯誤,然后我仔細檢查了輸入的內容,發現在稅率的輸入格式不一樣,然后進行了修改
然后將其復制粘貼到PTA中,答案正確。
本周總結:
經過這一周的學習,我學會了條件語句的相關內容,在反復改錯的過程中知道一些知識,老師還講了switch語句,通過課上的練習和課下的練習題,對switch語句已經掌握的差不多。還粗略了解了ASCII碼的一些相關內容。
問題和難點:
在做練習題時,急於做題,不認真地閱讀題目要求,好多次因為輸出格式而報錯,浪費了很多時間;
還有在打代碼時會有一些因為格式不統一的報錯;
在理解代碼時有些困難,詞匯量積累不夠。
博客字數、代碼行數:
作業點評:http://www.cnblogs.com/wafx/p/9898522.html
https://www.cnblogs.com/xiaofengqaq/p/9845665.html
https://www.cnblogs.com/sevenG/p/9911455.html