题解 | #牛牛的快递#
牛牛的快递
https://www.nowcoder.com/practice/41b42e7b3c3547e3acf8e90c41d98270
#include<stdio.h>//scanf()和printf()函数包含在stdio.h头文件里,所以要写 #include<math.h>//因为用到了ceil()函数,该函数包含在math.h这个头文件里,所以要写 int main() { float a;//a为快递重量 char b;//b为是否加急 int c;//c为快递费 scanf("%f %c",&a,&b);//输入快递重量和是否加急 if(a>=0&&a<=1)//快递在1kg以内的按起步价20元计算 { c=20; } else //超出1kg,快递费为起步价加超出部分 { c=20+1*ceil(a-1);//ceil()函数是向上取整函数,ceil(5.1)=6,ceil(-1.1)=-1, //不是四舍五入也不是只保留整数部分 //之所以是ceil(a-1),而不是ceil(a),是因为超出1kg部分才按每千克1元计算 } if(b=='y')//如果加急,就再加5元 { c=c+5; } printf("%d",c);//输出最终快递费 return 0; }
总结:
ceil()函数向上取整,ceil(5.1)=6,ceil(-1.1)=-1