高速公路处罚问题,我的输出和要求不符合

我的代码输入样例2输出的是OK,和题目要求不符合,为什么啊,我看了很久,依然没有觉得自己的代码有错误,谢谢

img

img

img

double 精度会丢失啊 100*1.1>110 ,要不就全部int比较完事

#include<stdio.h>
int main( )
{
int a,b;
double d;
scanf("%d %d",&a,&b);
 if(a< int(1.1*b)){
printf( "OK");
}
if((a>= int(1.1*b))&&(a<int (1.5*b))){
d=100.0*(a-b)/b;
printf("Exceed %.01f%%.Ticket 200", d);
}
if(a>=int (1.5*b)){
d=100.0*(a-b)/b;
printf( "Exceed %.01f%%. License Revoked", d);
}

return 0;
}

输入的两个正整数,你改为%d 你的%lf 你计算打印一下1.1*b估计计算出来精度有问题所以会输出ok

题目是说输出正整数,你用了double 把double改成int