gpt4 book ai didi

c - 如何用 C 语言编写求解器程序的替代品?

转载 作者:行者123 更新时间:2023-11-30 15:44:25 26 4
gpt4 key购买 nike

1)我想创建一个(替代的)求解器,其中有一个简单的表达式,例如:

Revenue = Cost * (1 + GrossMargin)

会向用户提出 3 个问题:

  • 收入?
  • 费用?
  • 毛利率?

用户被要求回答这 3 个问题中的 2 个问题,程序计算第三个问题。

这是我(完全新手)的尝试:

//
// main.c
// LearningC
// Created by ThG on 19/10/13
//

#include <stdio.h>

int main(int argc, char *argv[])
{
// Variables
float Cost = 0;
float GrossMargin = 0;
float Revenue = 0;

// Ask the User
printf("What is your Revenue ? : ");
scanf("%f", &Revenue);
printf("What is your cost ? : ");
scanf("%f", &Cost);
printf("What is your Gross Margin goal ? : ");
scanf("%f", &GrossMargin);

// Equation
Revenue = Cost * (1 + GrossMargin);

// Nested ifs or expressions "Solver"
if (Revenue == 0)
{
printf("Your Revenue should be : %.2f $ * (1 + %.2f) = %.2f $\n", Cost, GrossMargin, Revenue);
}
else
{
if (Cost == 0)
printf("Your Cost should not be higher than : %.2f $ / (1 + %.2f) = %.2f $\n", Revenue, GrossMargin, Cost);
else
printf("Your GrossMargin is : %.2f $ / %.2f -1 = %.2f $\n", Revenue, Cost, GrossMargin);
}

return 0;
}

当然,这失败了(顺便说一句,(lldb 是什么意思?)。我应该如何继续?

我希望这个问题与 StackOverflow 的上下文无关。我应该明确指出这不是家庭作业吗(我退休了……)?

2) 我曾经在我的(Jurassic)Palm Pilot 上有一个名为 MathPad 的出色求解器程序(由 Rick Huebner 编写,请参阅 http://www.palmspot.com/software/detail/ps52a_98295.html ),可能是用 C 编写的。

你知道是否已经开发和维护了类似的东西吗?

提前致谢

最佳答案

您的程序使用此计算:

Revenue = Cost * (1 + GrossMargin);

如果收入输入为零,则它是正确的。但猜猜如果您打算计算成本并将其输入为零,同时为收入成本输入有效值,会发生什么。正如你所说,它会惨败。

最简单的解决方案是检查哪个输入的数量为零并进行相应的计算。像这样的事情:

if(Revenue == 0)
Revenue = Cost * (1 + GrossMargin);
else if(Cost == 0)
Cost = Revenue / (1+GrossMargin);
else
GrossMargin = (Revenue-Cost)/Cost;

然后显示您的值(value)观。

关于c - 如何用 C 语言编写求解器程序的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19477673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com