Я делаю университетский проект, где мне нужно создать калькулятор цифровой интеграции. Мне нужно, чтобы пользователь вводил функцию подынтегрального выражения для замены функции double f(double x)
ниже, чтобы моя программа могла работать для любого одномерного интеграла с ограничениями без бесконечности.Как попросить пользователя ввести математическую функцию на языке c?
Вот код:
#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;
}
Так вы нужен оценщик выражений? –
http://stackoverflow.com/questions/840501/how-do-function-pointers-in-c-work –
Вы должны будете указать свой ввод более подробно. ваша функция scanf не будет работать. –