7-5 高速公路超速处罚

按照规定,在高速公路上行使的机动车,达到或超出本车道限速的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 <math.h>

int main() {
    double speed, xs;
    int x;
    scanf("%lf %lf", &speed, &xs);

    x = (int)round(((speed / xs) - 1) * 100);//x是超速的百分比

    if (x >= 10 && x < 50) {
        printf("Exceed %d%%. Ticket 200", x);
    } else if (x >= 50) {
        printf("Exceed %d%%. License Revoked", x);
    } else if (x < 10) {
        printf("OK");
    }

    return 0;
}

其中要注意的是,超速百分比x需要四舍五入,要用到round函数

 拓展 小数点后两位四舍五入该怎么写:

#include <stdio.h>
#include <math.h>

int main() {
    double num = 12.345678; // 例子中的浮点数
    double rounded_num = round(num * 100.0) / 100.0; // 将数字保留两位小数并四舍五入

    printf("原始数字: %.6f\n", num); // 原始数字
    printf("四舍五入后的数字(保留两位小数): %.2f\n", rounded_num); // 四舍五入后的数字,保留两位小数

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值