Потеря точности при умножении - C (СИ)
Формулировка задачи:
# include <stdio.h> main () { float x,y,s; scanf ("%f %f", &x,&y); s=x*y; printf ("%f",s); }
42
Откуда нарисовались 42? Почему происходит такая жуткая потеря точности? Как эту проблему решают например при написании калькулятора?Решение задачи: «Потеря точности при умножении»
textual
Листинг программы
# include <stdio.h> int main () { double x,y,s; scanf ("%lf %lf", &x,&y); s=x*y; printf ("%lf",s); return 0; }
Объяснение кода листинга программы
- Включаем заголовочный файл
- Объявляем переменные x, y, s типа double
- Считываем значения переменных x и y с помощью функции scanf, указывая формат %lf для считывания вещественных чисел
- Вычисляем значение переменной s как произведение x и y
- Выводим значение переменной s на экран с помощью функции printf, указывая формат %lf для вывода вещественного числа
- Завершаем программу с помощью оператора return 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д