Программа не выводит значения double - C (СИ)

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

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

#include <iostream.h>
#include <Windows.h>
#include <iomanip>
#include <math.h>
int a, b, c, m;
double p;
main()
{
      printf("Vvedite massu:");
      scanf("%d",&m);
      
      printf("Vvedite a:");
      scanf("%d",&a);
      
      printf("Vvedite b:");
      scanf("%d",&b);
      
      printf("Vvedite c:");
      scanf("%d",&c);
               
      p = (m / (a*b*c));
      printf ("Plotnost ravna %f\n", p);
      system("pause"); 
}
В итоге при значениях, которые заведомо будут давать дробное число, выводится либо целое с нулями после запятой, либо 0.0000

Решение задачи: «Программа не выводит значения double»

textual
Листинг программы
p= (double)m / ( (double)a*(double)b*(double)c );

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

  1. В данном коде имеется переменная типа double с названием m.
  2. Затем есть три переменные типа int с названиями a, b и c.
  3. В строке с кодом (double)m / ( (double)a*(double)b*(double)c ) происходит деление значения переменной m на произведение значений переменных a, b и c.
  4. При этом значения переменных a, b и c перед использованием приводятся к типу double с помощью явного приведения типов (double)a, (double)b и (double)c.
  5. Результат деления сохраняется в переменной типа double с названием p.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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