习题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