Выделение целой и дробной части - C (СИ)
Формулировка задачи:
подскажите как в этой программе сделать так чтобы у дробных чисел он делил на 2 именно дробную часть
в этой программе меняется знак у нечётных элементов массива
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define n 10
int main()
{
int i;
double a[n]={1,2,3,9,5,7,7.4,8,9,10};
for(i=0;i<n;i++)
if(i%2==0)
a[i]=-a[i];
for(i=0;i<n;i++)
printf("massiv=%g\n",a[i]);
return 0;
getch();
}Решение задачи: «Выделение целой и дробной части»
textual
Листинг программы
int n;double f1,f2; ... n=(int)f1;//получили целую часть от дробного числа f2=(f1-n)/2.0;// дробная часть деленная на 2 f1=n+f2; // прилепили к целой части дробную
Объяснение кода листинга программы
- Объявлены три переменные: n, f1, f2 типа int и double соответственно.
- Присваивается значение переменной n, равное 10.
- Присваивается значение переменной f1, равное 15.6.
- Присваивается значение переменной f2, равное 7.5.
- Выполняется операция приведения типа f1 к int, результат присваивается переменной n. В данном случае целая часть числа 15.6 равна 15, следовательно, n становится равным 15.
- Вычисляется значение переменной f2, путем вычитания из f1 значения переменной n, результат делится на 2.0. В данном случае (15-15)/2.0 = 0.0.
- Прилепляем дробную часть (f2) к целой части (n), т.е. к 15. В результате получаем число 15.0.