点击查看代码
/*
* 箱子体积除以166,所得数字大于箱子的实际重量,那么运费就按照空间重量收费
* C语言中,如果两个整数相除,那么结果会被“截短”:小数点后的数字会丢失
* 这会使得重量向下取整,运输公司希望向上取整
*
*
* 1. 获取用户输入的长宽高信息
* 2. 体积重量 = (体积 + 165) / 166;
*/
//#include <stdio.h>
//int main(void)
//{
// int height, length, width, volume, weight;
//
// printf("输入箱子高度:");
//
// scanf("%d", &height);
//
// printf("输入箱子长度:");
// scanf("%d", &length);
//
// printf("输入箱子宽度:");
// scanf("%d", &width);
//
// volume = height * length * width;
// weight = (volume + 165) / 166;
//
// printf("体积为:%d\n", volume);
// printf("体积重量为:%d\n", weight);
//
// return 0;
//}
// 166这个数字在后期阅读的时候可能会造成困扰,可以采用宏定义的特性给常量命名
#include <stdio.h>
#define INCHES_PER_POUND 166
int main(void)
{
int length, width, height, volume, weight;
printf("请输入长度:", length);
// scanf("%d\n", &length);
// 提示用户输入的消息通常不应该以换行符结束
// 我们希望用户在同一行输入
// 这样,当用户敲回车时,光标会自动移动到下一行
// 因此就不需要程序通过显示换行符来终止当前行了
scanf("%d", &length);
printf("请输入宽度:", width);
scanf("%d", &width);
printf("请输入高度:", height);
scanf("%d", &height);
volume = length * width * height;
weight = (volume + INCHES_PER_POUND - 1) / INCHES_PER_POUND;
printf("体积为:%d\n", volume);
printf("体积重量为:%d", weight);
return 0;
}