Перевод градусов в радианы(проблема с типами) - C (СИ)

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

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

здравствуйте. понадобилась программа для перевода градусов в радианы.
#include <stdio.h>
 
#define PI 3.14159265
 
int main(void)
{
    float degrees, radians;
    printf("Enter degrees:\n");
    scanf("%f", &degrees);
    radians = degrees * (PI / 180.0);
    printf("%f degrees = %f radians\n", degrees, radians);
    return 0;
Все отлично работает. затем изменяю тип переменных на double или long double и программа вместо чисел выдает одни 0.0000000
 double degrees, radians;
Длинный вещественный тип нужен для использования в другой программе. Подскажите почему это происходит и как исправить?

Решение задачи: «Перевод градусов в радианы(проблема с типами)»

textual
Листинг программы
#include <stdio.h>
 
#define PI 3.14159265
 
int main(void)
{
    long double degrees, radians;
    printf("Enter degrees:\n");
    scanf("%Lf", °rees);
    radians = degrees * (PI / 180.0);
    printf("%Lf degrees = %Lf radians\n", degrees, radians);
    return 0;
}

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

  1. Включаем стандартную библиотеку ввода-вывода
  2. Определяем константу PI, которая представляет число π в виде десятичной дроби
  3. В функции main() объявляем переменную типа long double с именем degrees для хранения градусов и переменную типа long double с именем radians для хранения радиан
  4. Выводим сообщение Enter degrees: и считываем из консоли значение градусов в переменную degrees с помощью функции scanf()
  5. Переводим значение градусов в радианы, умножая его на (PI / 180.0) и сохраняем результат в переменную radians
  6. Выводим сообщение degrees = radians для иллюстрации соответствия между градусами и радианами
  7. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

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