作業要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292
PTA第三次作業7-3 分段計算居民水費
#include<stdio.h> int main() { double x,y; scanf("%lf",&x); if(x<=15){y=4*x/3;} else {y=2.5*x-17.5;} printf("%.2lf",y); return 0; }
設計思路:1、先定義兩個浮點型變量x和y分別為用水量和水費
2、在第一行輸入用水量x
3、用if條件句判定水費是否大於15,若小於,則執行if后的命令;若大於,則執行else后的命令
4、最后打印出水費y
流程圖:
調試過程遇到的問題以及解決方法:
試了很多次都是部分正確 如圖:
后來我才知道用水量也有可能是浮點數,所以把變量x從int改成了double,然后就通過了。
#include <stdio.h> int main(){ int a=0,b=0,x=0; scanf("%d %d",&a,&b); x=(a-b+0.5)*100/b; if (x>=50){ printf("Exceed %d%%. License Revoked",x); } else if(x>=10&&x<50){ printf("Exceed %d%%. Ticket 200",x); } else{ printf("OK"); } return 0;
}
設計思路:1、設出兩個整型變量車速a,限速b
2、設出數據x=(a-b+0.5)*100/b,求出四舍五入后的超速百分比
3、若x小於等於10,則打印出OK,若大於十小於等於五十,則打印出Exceed x%. Ticket 200,若大於五十則打印出Exceed x%. License Revoked。
流程圖:
調試過程遇到的問題以及解決方法:
1、開始一直打%d%,然后一直顯示編譯錯誤,%d代表數據后面加一個百分號不正好對嗎?后來才知道計算機語言中兩個%才代表一個%,就像==一樣
2、打的x=(a-b)*100/b一直通不過,經過思考才發現有四舍五入,又問了同學,之后在后面填上了+0.5才通過,這個問題的確很繞腦
本周我學習到了整形和浮點數的表示,還有四舍五入時的考慮方式,還有if else條件句的使用
難點就是四舍五入以及變量的設定
我大多數都是問同學得到的答案,也上網找了一些c語言的表示方法,感覺計算機語言很有意思
同學的連接:
1、http://www.cnblogs.com/chumengGTRlhz/p/9885207.html
2、http://www.cnblogs.com/wafx/p/9898522.html
3、http://www.cnblogs.com/xiaofengqaq/p/9845665.html