習題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
分析:這是一道數學問題,利用分段函數即可完成,思路雖然簡單,但編寫過程容易出錯。主要是確定車速和限速之間的關系,可以用而這相除與1.1和1.5的關系,也可用如下方法:
--注:C語言 輸出百分號(%)的方法:在%后加一個%,即兩個%便可以輸出“%”。
C語言代碼如下:
1 #include <stdio.h> 2 int main(){ 3 int m, n; 4 scanf("%d %d", &m, &n); //m為車速,n為限速 5 double q; 6 q = (m - n) * 1.0 / n; 7 if(q < 0.1) 8 printf("OK\n"); 9 else if(q >= 0.1 && q < 0.5) 10 printf("Exceed %.f%%. Ticket 200\n", q * 100); 11 else 12 printf("Exceed %.f%%. License Revoked\n", q * 100); 13 return 0; 14 }