Определить, состоит ли вводимая последовательность только из чисел, удовлетворяющих условию - 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, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д