-3

这是问题所在:

成本分析是工程的重要组成部分。在实践中,可能会要求您编写程序来确定许多不同潜在情况的最低成本。您的程序可以用作项目的决策工具。

考虑在垃圾填埋场上建造跑道的机场。承包商有两辆自卸车,一辆8吨,另一辆12吨。承包商使用卡车将填充物从偏远地点运送到机场。8 吨和 12 吨卡车每次行程的运营成本分别为 14.57 美元和 16.26 美元。一辆卡车不能超过总行程的 60%。

编写一个程序,得出给定吨数的最低成本。提示用户输入总吨数。显示每辆卡车所需的行程次数和总成本。对该程序使用模块化设计。

这是我的尝试:

#include <stdio.h>

int main (void)
{
    double mass, sixtyPercentMass;
    int eightCount = 0, twelveCount = 0;

    printf("Enter the number of tons: ");
    scanf("%lf", &mass);
    sixtyPercentMass = 0.6 * mass;

    while((twelveCount*12) < sixtyPercentMass) {
        twelveCount++;
    }
    while((eightCount*8) < (mass - sixtyPercentMass)) {
        eightCount++;
    }

    printf("Total trips required: %d\n", (twelveCount+eightCount));
    printf("Number of 12-ton trucks required: %d\n", twelveCount);
    printf("Number of 8-ton trucks required: %d\n", eightCount);
    printf("Total cost: $%lf", (twelveCount*16.26 + eightCount*14.57));
    return 0;
}

问题:

  1. 我将如何解释浪费卡车空间的原因?
    目前,如果您还剩 1 辆,那就浪费了一整辆卡车。使用与所需质量完全匹配的卡车实际上会更便宜。

  2. 我将如何正确设置总行程的 60% 阈值?
    它目前只占质量的 60%。

对于所需的逻辑,伪代码或朝着正确方向迈出的一步会很有帮助。

4

1 回答 1

0

首先,您需要将问题与程序分开。尝试一步解决这两个问题会让您在处理将问题作为软件运行所需的内容时发现您的问题需要什么。

为了优化卡车的最小数量,您应该想出一种方法来确保不使用不需要的卡车。一种方法是尝试使用最大数量的最小卡车,并通过将较小的卡车换成较大的卡车来“减少”解决方案。另一种方法是使用可用的最大卡车,然后检查可以用较小卡车代替的部分满载卡车。

无论您如何解决问题,它都不需要计算机来解决。一旦您可以在没有计算机的情况下在某种程度上解决问题(即使该方案只是在您的脑海中),那么您就可以着手编写一个程序来执行实现您的解决方案所需的任务。

从写作作为第一步开始,这很像建造房子,开始切割和锤击木头,然后想知道如果没有外门、厨房、墙上的电源线等,你将如何吃饭。

于 2013-03-12T21:32:49.853 回答