#include<stdio.h>
int main(){
int min,cost;
float path;
scanf("%f %d",&path,&min);
if(path<=3)
cost=10+min/5*2;
else if(path<=10)
cost=10+2*(path-3)+min/5*2;
else
cost=24+3*(path-10)+min/5*2;
printf("%d",cost);
return 0;
}
#include<stdio.h>
int main(){
int min;
float path,cost;
scanf("%f %d",&path,&min);
if(path<=3)
cost=10+min/5*2;
else if(path<=10)
cost=10+2*(path-3)+min/5*2;
else
cost=24+3*(path-10)+min/5*2;
printf("%0.f",cost);
return 0;
}
上面那个cost变量取int型,下面的cost取浮点型,也就是说最后上面那个算出来的值只能是整数,下面那个指可以是小数。主要就是精度的问题。
const 数据类型不同,计算得到的精度不同。
%0.f好像表面和%d一样,实际上在内存里不同