Найти значение функции. Программа завершается некорректно - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста, ошибок компилятор не выдаёт, но винда аварийно завершает работу программы...что не так? Вычислить значение функции y = ae^(−ax)* sin(ωx) при x = (π / 2 −fi) /ω .
#include <stdio.h>
#include  <conio.h>
#include <math.h>
main()
{
     double a,fi,omega;
     double x,y;
   const double pi = 3.1415926535;
  const double e = 2.71828183;
      printf("\n Enter a=");
      scanf("%d",a);
      printf("\n Enter fi=");
      scanf("%d",fi);
      printf("\n enter omega=");
      scanf("%d",omega);
      if (omega==0)
      {
                   printf("Омега не должна быть меньше нуля");
                   }
                   else{
                        x=(pi/2-fi)/omega;
                        y=a*pow(e,-a*x)*sin(omega*x);
                                                
                        }
                        printf("\ny=%d",y);
                         getch();
                         return 0;
      }

Решение задачи: «Найти значение функции. Программа завершается некорректно»

textual
Листинг программы
        printf("\n Enter a=");
        scanf("%lf",&a);    // ("%lf", &a)
        printf("\n Enter fi=");
        scanf("%lf",&fi);    // ("%lf", &fi)
        printf("\n enter omega=");
        scanf("%lf",&omega);    // ("%lf", &omega)
 
        if (omega==0)
        {
            printf("Омега не должна быть меньше нуля");
        }
        else{
            x=(pi/2-fi)/omega;
            y=a*pow(e,-a*x)*sin(omega*x);
        }
 
        printf("\ny=%f\n",y);    // ("\ny=%f\n", y)

Объяснение кода листинга программы

  1. Программа запрашивает у пользователя ввод трех чисел: a, fi и omega.
  2. Если omega равно нулю, программа выводит сообщение об ошибке.
  3. В противном случае, программа вычисляет значение x и y.
  4. Значение y выводится на экран.

Оцени полезность:

11   голосов , оценка 3.636 из 5
Похожие ответы