gpt4 book ai didi

c - c语言如何让用户输入一个数学函数?

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:35 27 4
gpt4 key购买 nike

我正在做一个大学项目,我必须创建一个数值积分计算器。我需要用户输入被积函数来替换下面的 double f(double x) 函数,以便我的程序可以处理任何具有非无穷大限制的一维积分。

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double f(double x)
{
return x;
}

double traprule(double a, double b, double N)
{
double h, sum, fn, fa, fb, I;

sum = 0;
h = (b - a) / N;

for (int n = 1; n < N; n++)
{
fn = f(a + n * h);
sum = sum + fn;
}

fa = f(a);
fb = f(b);
I = 0.5 * h * ((fa + fb) + 2 * sum);
return I;
}

int main()
{
scanf("%s", &f)
double result;
result = traprule(0, 10, 10);
printf("%lg", result);
return 0;
}

最佳答案

C 标准库不包含任何可让您直接解析任意数学表达式的内容。这种表达式解析器/求值器的实现远远超出了 Stack Overflow 答案的范围,但是如果您被允许使用外部库(即,这个问题不是您的项目的目的),则有开源选项,例如TinyExpr .您应该能够将用户的输入读入字符串(例如使用 fgets)并将其传递给库。

(如果不允许您使用库,请阅读解析器并研究链接的 github 页面上的图表和源代码,然后在遇到问题时提出更具体的问题。)

关于c - c语言如何让用户输入一个数学函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021354/

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