Перевод градусов в радианы(проблема с типами) - C (СИ)
Формулировка задачи:
здравствуйте. понадобилась программа для перевода градусов в радианы.
Все отлично работает. затем изменяю тип переменных на double или long double и программа вместо чисел выдает одни 0.0000000
Длинный вещественный тип нужен для использования в другой программе.
Подскажите почему это происходит и как исправить?
#include <stdio.h>
#define PI 3.14159265
int main(void)
{
float degrees, radians;
printf("Enter degrees:\n");
scanf("%f", °rees);
radians = degrees * (PI / 180.0);
printf("%f degrees = %f radians\n", degrees, radians);
return 0;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;
}
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Определяем константу PI, которая представляет число π в виде десятичной дроби
- В функции main() объявляем переменную типа long double с именем degrees для хранения градусов и переменную типа long double с именем radians для хранения радиан
- Выводим сообщение
Enter degrees:и считываем из консоли значение градусов в переменную degrees с помощью функции scanf() - Переводим значение градусов в радианы, умножая его на (PI / 180.0) и сохраняем результат в переменную radians
- Выводим сообщение
degrees = radiansдля иллюстрации соответствия между градусами и радианами - Возвращаем 0, чтобы указать, что программа успешно завершилась