習題3-2 高速公路超速處罰 (15 分)
按照規定,在高速公路上行使的機動車,達到或超出本車道限速的10%則處200元罰款;若達到或超出50%,就要吊銷駕駛證。請編寫程序根據車速和限速自動判別對該機動車的處理。
輸入格式:
輸入在一行中給出2個正整數,分別對應車速和限速,其間以空格分隔。
輸出格式:
在一行中輸出處理意見:若屬于正常行駛,則輸出“OK”;若應處罰款,則輸出“Exceed x%. Ticket 200”;若應吊銷駕駛證,則輸出“Exceed x%. License Revoked”。其中x是超速的百分比,精確到整數。
輸入樣例1:
65 60
結尾無空行
輸出樣例1:
OK
結尾無空行
輸入樣例2:
110 100
結尾無空行
輸出樣例2:
Exceed 10%. Ticket 200
結尾無空行
輸入樣例3:
200 120
結尾無空行
輸出樣例3:
Exceed 67%. License Revoked
結尾無空行
代碼
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{int speed = 0,limit = 0;double account = 0;scanf("%d%d",&speed,&limit);account = 1.0*(speed-limit)/limit;int c ;c = (int)(100*account+0.5);//四舍五入實現if(account<0.1){printf("OK");}else if(account<0.5){printf("Exceed %d%%. Ticket 200",c);}else{printf("Exceed %d%%. License Revoked",c);}return 0;
}
四舍五入實現舉例:
int main()
{double x = 2.148;x = (x*100+0.5)/100.0;//對x四舍五入,保留兩位小數printf("%.2f",x);return 0;
}
結果:
2.15