在C中,我如何使1200/500 = 3.
我正在做家庭作业.
运输计算器:Speedy Shipping公司将根据您的包装重量以及您送包裹的距离来运送您的包裹.他们只会运送重达10磅的小包装.您需要有一个程序来帮助您确定他们将收取多少费用.费用基于每运送500英里.它们不是按比例分配的,即600英里与900英里的费用相同.
这是他们给你的表:
Package Weight--------------------------Rate per 500 miles shipped
2 pounds or less------------------------$1.50
More than 2 but not more than 6---------$3.70
More than 6 but not more than 10--------$5.25
这是一个测试用例.
测试用例数据:
重量:5.6磅
英里:1200英里
预期成绩:
您的运费是11.10美元
我的答案一直持续到7.40
Dan*_*iel 12
你想要围捕吗?在分割之前,您可以将499添加到正在分割的数字.
(0 + 499)/ 500 - > 0
(1 + 499)/ 500 - > 1
(1200 + 499)/ 500 - > 3
这将圆满.
说你要得到一个天花板师a通过b(在你的榜样a = 1200B = 500).你可以用这样的整数运算来做.
result = (a + b - 1) / b;
Run Code Online (Sandbox Code Playgroud)
或者你可以使用浮点数并像这样做(可能是一个坏主意)
result = (int) ceil( (double) a / b );
Run Code Online (Sandbox Code Playgroud)
问题在于,由于这是一项功课,您可以通过小步骤进行补充:
if( a % b == 0 ) {
result = a / b;
} else {
result = a / b + 1;
}
Run Code Online (Sandbox Code Playgroud)
这段代码的另一个优点是它实际上不会因为太大而溢出a,但我认为这与这种情况无关.