Целочисленной переменной присвоить целую часть вещественного числа - C (СИ)
Формулировка задачи:
Подскажите пожалуйста, как можно реализовать данное условие, присвоить целочисленной переменной целую часть вещественного числа
Решение задачи: «Целочисленной переменной присвоить целую часть вещественного числа»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main(void)
{
double a = 1.999;
double intpart, fractpart;
int b;
fractpart = modf(a, &intpart);
b = (int) intpart;
printf("%d\n", b);
return 0;
}
Объяснение кода листинга программы
В данном коде на языке C выполняется следующая последовательность действий:
- Объявляются три переменные:
aтипаdouble,intpartиfractpartтипаdouble. Значение переменнойaинициализируется как 1.999. - С помощью функции
modf(a, &intpart)происходит разделение числаaна целую и дробную части. В результате, в переменнойfractpartсохраняется дробная часть числа, а в переменнойintpartцелая часть. При этом, адрес переменнойintpartпередается в качестве второго аргумента в функциюmodf(), чтобы изменить значение переменнойintpartнепосредственно в функции. - Целое значение переменной
intpartприводится к типуintс помощью оператораsizeofи присваивается переменнойb. - С помощью функции
printf()выводится значение переменнойbна экран. - Завершается выполнение программы возвратом значения 0 из функции
main().