2015-04-14 5 views
-3

Как рассчитать разницу между 2 номерами в% в c? Я написал свою собственную функцию exp и хочу сравнить ее с оригинальной из math.h.Как рассчитать разницу между двумя номерами

это моя функция exp, и я хочу сравнить результат с exp() от math.h и распечатать разницу в процентах.

double expo(double zahl) 
{ 
    int schleifendurchlaeufe = 1; 
    double exp = 1;//Variable in der das Ergebnis steht 
    double sum = 1;//Summant, der auf exp raufaddiert wird 

    do 
    { 
     sum = sum * (zahl/schleifendurchlaeufe); 
     exp = exp + sum; 
     schleifendurchlaeufe++; 
    } while (exp != exp + sum); 

    return exp; 
} 
+1

Пожалуйста, покажите нам свою собственную функцию функционала. –

+7

Как вы это сделаете с математикой? – ouah

+0

Добро пожаловать в 'StackOverflow', посмотрите эту страницу: https://stackoverflow.com/help/how-to-ask и отредактируйте свой вопрос с примерами кода, чтобы мы могли больше помочь. – Jordumus

ответ

0

«разница между 2 числом в%» звучит странно, может быть, вы хотите, разница в процентах (см объяснения в https://www.mathsisfun.com/percentage-difference.html)

Для случая, содержащих только результаты функции ехра (две положительных значений), вы можете использовать выполняет следующую функцию:

double percdiffcalc(double a, double b) 
{ 
    double difference = abs(a - b); 
    double average = (a + b)/2.0; 
    return difference * 100.0/average; 
} 

Вы можете вызвать эту функцию для любых двух значений, например percdiffcalc(myexp(x), exp(x));

+0

спасибо VolAnd, единственная строка, которую я не получаю: double difference = abs (ab) ;, где приходит абс и что это значит – thefighter3

+0

Вместо использования целочисленной функции 'abs()', лучше использовать 'double 'function' fabs() '. 'difference = fabs (a - b);' найден в ''. – chux

+0

Да, в c это 'fabs' ... Я просто забыл C++ и c gifferences – VolAnd

Смежные вопросы