一只能称 100 克的天平,配有 50g、20g、10g、5g、2g 和 1g 的砝码若干。左边放重物,右边放砝码。请编写程序,输入物体的重量,输出使用砝码最少的方法。
时间: 2023-04-05 20:00:50 浏览: 263
您好,我可以回答这个问题。以下是程序的代码:
#include <stdio.h>
int main()
{
int weight, num_50g = 0, num_20g = 0, num_10g = 0, num_5g = 0, num_2g = 0, num_1g = 0;
printf("请输入物体的重量(单位:克):");
scanf("%d", &weight);
while (weight > 0)
{
if (weight >= 50)
{
weight -= 50;
num_50g++;
}
else if (weight >= 20)
{
weight -= 20;
num_20g++;
}
else if (weight >= 10)
{
weight -= 10;
num_10g++;
}
else if (weight >= 5)
{
weight -= 5;
num_5g++;
}
else if (weight >= 2)
{
weight -= 2;
num_2g++;
}
else
{
weight -= 1;
num_1g++;
}
}
printf("使用砝码最少的方法为:\n");
if (num_50g > 0)
printf("%d 个 50g 的砝码\n", num_50g);
if (num_20g > 0)
printf("%d 个 20g 的砝码\n", num_20g);
if (num_10g > 0)
printf("%d 个 10g 的砝码\n", num_10g);
if (num_5g > 0)
printf("%d 个 5g 的砝码\n", num_5g);
if (num_2g > 0)
printf("%d 个 2g 的砝码\n", num_2g);
if (num_1g > 0)
printf("%d 个 1g 的砝码\n", num_1g);
return 0;
}