Напечатать те числа, которые принадлежат заданному интервалу - C (СИ)
Формулировка задачи:
Даны три действительных числа. Напечатать те из них, которые принадлежат интервалу (1,3) если таковых нет, то напечатать сообщение.
Решение задачи: «Напечатать те числа, которые принадлежат заданному интервалу»
textual
Листинг программы
#include <stdio.h>
int main() {
float array[3] = { 0.0 };
const int CSize = sizeof(array) / sizeof(*array);
const int CMin = 1, CMax = 3;
int i, cnt = 0;
printf("set %d values: ", CSize);
for (i = 0; (i < CSize) && (scanf("%f", &array[i]) == 1); ++i) { ; }
for (i = 0; i < CSize; ++i) {
if ((CMin < array[i]) && (array[i] < CMax)) {
printf("%d: %.2f\n", i + 1, array[i]);
cnt++;
}
}
if (cnt == 0) {
printf("values (%d..%d) is missing ...\n", CMin, CMax);
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлен массив из трех элементов типа float с именем
array. Инициализирован одним значением 0.0. - Определены константы
CSize,CMinиCMax, которые представляют размер массива, минимальное и максимальное значения для ввода соответственно. - Объявлены переменные
i,cntиarray.iиспользуется в цикле,cntдля подсчета количества значений в заданном диапазоне,array- это сам массив. - Выводится сообщение
set 3 values:и предложение для ввода трех чисел. - Введенные числа сохраняются в массиве
array. - После ввода происходит проверка каждого элемента массива на соответствие заданному диапазону. Если элемент удовлетворяет условию, он выводится на экран и увеличивается счетчик
cnt. - Если после проверки всех элементов массива счетчик
cntравен 0, выводится сообщение о том, что в заданном диапазоне отсутствуют значения. - Код завершается возвратом значения 0, что означает успешное выполнение программы.