高速公路超速处罚(C语言)--输出%
习题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 }