чистая функция внутри основного не принимая и обрабатывать отдельные значения х, как я намеревался - PullRequest
0 голосов
/ 08 февраля 2019
  • Напишите чистую функцию внутри main (), которая вычисляет уравнение нормального распределения.
  • Запросите у пользователей 2 переменные, которые остаются постоянными в формуле
  • Запросите у пользователя N значенийx, значение которого нужно менять каждый раз, когда я отправляю его в функцию.
  • Для каждого отдельного x выводится «F (x) =» + результат вычисления.

Я уже пытался указывать на переменную x и объявлять ее в цикле for, я считаю, что это проблема с моей областью действия или объявлением функции в целом.Я не понимаю, почему мой профессор просит нас объявить функцию в main (), когда на любом другом языке программирования, с которым я работал, это делается за пределами.Я полагаю, что он пытается научить нас кое-чему о размахе, но пока это только смешалось с моим ощущением того, что неправильно и что правильно.Буду признателен за любую помощь, я часами играю с этой штукой!С уважением, JJC

int main(void)
{
    const double sigma, mu;
    double  x;

    int no_x;

    double normal(x, sigma, mu)
    {   
        return (x * sigma * mu);
    }

    printf("Enter mean u: ");   
    scanf("%lf", &mu);

    printf("Enter standard deviation: ");   
    scanf("%lf", &sigma);

    if(sigma == 0)
    {
        printf("error you entered: 0");
        exit(0);
    }

    printf("Number of x values: "); 
    scanf("%d", &no_x);

    for(int i = 1; i <= no_x; i++)
    {
        printf("x value %d : ", i);

        scanf("%lf", &x);

        printf("f(x) = : ");
        normal(x,sigma,mu);

        printf("");
        printf("\n");
    }

    return 0;
}

Ожидаемые результаты

C:\>.\a.exe
Enter mean u: 3.489
Enter std dev s: 1.203
Number of x values: 3
x value 1: 3.4
f(X) = 0.330716549275
x value 2: -3.4
f(X) = 0.000000025104
x value 3: 4
f(X) = 0.303015189801

1 Ответ

0 голосов
/ 08 февраля 2019

Вы отказываетесь от возврата normal

Попробуйте:

x = normal(x,sigma,mu);

и / или передаете возврат на вызов printf (с соответствующим форматом)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...