Что за условие в скобках - C (СИ)
Формулировка задачи:
while(1 != scanf("%d", &n))
Решение задачи: «Что за условие в скобках»
textual
Листинг программы
#include <stdio.h> int main() { int N=10, n, largest, prelargest, count = 0; while(count < N) { while(1 != scanf("%d", &n)) { puts("Incorrect entering data!Try again."); while(getchar() != '\n'); } if(count==0) { largest = prelargest = n; } else{ if(n > largest) { prelargest = largest; largest = n; } else { if(count == 1) prelargest = n; if(n > prelargest) prelargest = n; } } count++; } printf("\nLargest = %d Prelargest = %d\n", largest, prelargest); return 0; }
Объяснение кода листинга программы
- Объявлены переменные: N, n, largest, prelargest, count. N - количество вводимых чисел, n - текущее вводимое число, largest и prelargest - для хранения наибольшего и предыдущего наибольшего числа соответственно, count - счетчик вводимых чисел.
- В цикле while(count < N) происходит ввод чисел от пользователя с помощью scanf и проверка корректности ввода с помощью условия while(1 != scanf(
%d
, &n)). Если ввод некорректен, выводится сообщение об ошибке и с помощью while(getchar() != '\n') удаляется символ новой строки из буфера ввода. - Если count == 0, то largest и prelargest устанавливаются равными введенному числу n.
- В остальных случаях, если n больше largest, то prelargest становится равным largest, а largest становится равным n. Если n меньше или равно largest, то prelargest становится равным n.
- После окончания цикла выводятся значения largest и prelargest.
- Возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д