Определить, состоит ли вводимая последовательность только из чисел, удовлетворяющих условию - C (СИ)

Узнай цену своей работы

Формулировка задачи:

С клавиатуры вводятся числа. Признак конца ввода – ноль. Определить, состоит ли вводимая последовательность только из чисел, удовлетворяющих условию: a[0;55]. я так понял, что он в конце обрабатывает, только 0 принадлежит он или нет. как сделать чтобы он все введенные цифры обработал, перед тем как дать ответ
#include <stdio.h>
int main()
{
float a;
 
do
{
    printf("\n Vvedite chislo , ili vvedite 0 dlya okonchania operacii ");
scanf("%f", &a);
}
while(a!=0);
if((55>=a)&&(a>0))
{
puts("chisla prinadlezhat");
}
else
{
puts("ne prinadlezhat");4
}
return 0;
}

Решение задачи: «Определить, состоит ли вводимая последовательность только из чисел, удовлетворяющих условию»

textual
Листинг программы
#include <stdio.h>
 
int main(void) {
    int n, fail = 0;
    
    while ( printf("Number: ") && scanf("%d", &n) == 1 && n != 0 )
        fail |= ( n < 0 || n > 55 );
    
    printf("%s\n", ( fail ) ? "FAIL" : "OK");
    
    return 0;
}

Объяснение кода листинга программы

  • Включаем стандартную библиотеку файлов в программу
  • Объявляем переменные: n (для считывания вводимого числа), fail (для отслеживания ошибок), 0 (для инициализации fail)
  • Запускаем цикл while, который будет выполняться до тех пор, пока:
    • Выводится приглашение для ввода числа Number:
    • Считывается число (в переменную n)
    • n не равно нулю
  • Внутри цикла проверяем, является ли считанное число отрицательным или больше 55 (то есть не удовлетворяет условию), и если да, то устанавливаем соответствующий бит в переменной fail
  • После выхода из цикла while выводится сообщение OK или FAIL в зависимости от значения переменной fail
  • Возвращаем 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы