Работа функции нахождения в массиве вещественных чисел числа с наименьшей дробной частью - C (СИ)
Формулировка задачи:
Задание: Написать функцию нахождения в массиве вещественных чисел числа
с наименьшей дробной частью.
Вопрос как работает функция, как она выбирает числа с наименьшей дробной частью?
#include <stdio.h>
#define N 3
double find(double x[N]);
void main(void)
{
double x[N];
for(int i = 0; i < N; i++)
{
scanf("%lf", &x[i]);
}
printf("-> -> -> %2.2f", find(x));
getchar();
getchar();
}
double find(double x[N])
{
int i = 0;
double min = x[i], min_2;
for(i; i < N; i++)
{
if(x[i] - (int)x[i] < min)
{
min = x[i] - (int)x[i];
min_2 = x[i];
}
}
return min_2;
}Решение задачи: «Работа функции нахождения в массиве вещественных чисел числа с наименьшей дробной частью»
textual
Листинг программы
x[i] - (int)x[i] //Из вещественного числа вычитается целочисленное. 5.43-5=0.43
Объяснение кода листинга программы
- Вводим массив x с 10 элементами, каждый из которых является вещественным числом.
- Инициализируем переменную min_fractional_part значением 1.
- Проходим циклом по элементам массива x.
- Для каждого элемента вычитаем целочисленную часть (с помощью приведения типа (int)).
- Полученную разность сохраняем в переменную fractional_part.
- Если fractional_part меньше текущего значения min_fractional_part, обновляем min_fractional_part значением fractional_part.
- По окончании цикла, выводим значение min_fractional_part.