按照规定,在高速公路上行使的机动车,达到或超出本车道限速的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
这道题的难点在于理解限速的10%,这是一道数学公式,也就是(a-b)/b,这个限速的10%不是单纯的吧a/b,而是求出差之后在进行除法,解决完这个就是单纯的条件语句if-else啦。
代码如下:
#include<stdio.h>
int main(){
int a,b;
float c;
scanf("%d %d",&a,&b);
//这里我直接用一个式子做出判断便于理解
//开始的if语句我先判断是否小于10%
if((a-b)*1.0/b<0.1){
printf("OK\n");
}else{ //然后再else语句内在嵌套一个if-else语句,这类运用形式主要是用于三个因素的判断
if((a-b)*1.0/b>=0.1 && (a-b)*1.0/b<0.5) //这里我出过一个错误就是运行结果出来之后,老是提交出错,实例三运行错误,但是我的输出结果是正确的,我在查阅其他人的代码后,发现我是的(a-b)*1.0/b<=0.5)这里写啦一个等号导致提交结果出错,所以大家写代码的时候要细心
printf("Exceed %.f%%. Ticket 200\n",(a-b)*100.0/b);
else
printf("Exceed %.f%%. License Revoked\n",(a-b)*100.0/b);
}
return 0;
}