Нужно чтобы при вводе числа 0 программа завершала работу - C (СИ)
Формулировка задачи:
Привет всем.Это моя первая тема
У меня такая проблема,задание я сделал но вот не до конца.Нужно чтобы при вводе числа 0 программа завершала работу,я понимаю что надо использовать оператор break,но не понимаю где его тут использовать для переменной M.Подскажите пожалуйста куда подставить break ?
#include <stdio.h> #include <conio.h> main() { int j,N,M,S; printf("Enter number M\n"); scanf("%d",&M); N=4; { while(N<=M) { S=1;j=2; while(j<=N/2) { if(N%j==0) S=S+j; j=j+1; if(M==0)break; } if(N==S) printf("%d- perfect number\n",N); N=N+2; } getch(); return 0; }
Решение задачи: «Нужно чтобы при вводе числа 0 программа завершала работу»
textual
Листинг программы
#include <stdio.h> #include <conio.h> main() { int j,N,M,S; printf("Enter number M\n"); scanf("%d",&M); N=4; if(M!=0) { while(N<=M) { S=1;j=2; while(j<=N/2) { if(N%j==0) S=S+j; j=j+1; break; } if(N==S) printf("%d- perfect number\n",N); N=N+2; } } else { printf("равно нулю"); } getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и вводом-выводом чисел.
- Объявление переменных: M (введенное число), N (первая константа), S (сумма делителей), j (счетчик делителей).
- Вывод сообщения с просьбой ввести число M.
- Считывание числа M с помощью функции scanf и сохранение его в переменную M.
- Установка значения N равным 4.
- Проверка условия, что M не равно 0.
- Запуск цикла while, который будет выполняться до тех пор, пока N не станет больше M.
- Установка значения S равным 1 и j равным 2.
- Запуск внутреннего цикла while, который будет выполняться до тех пор, пока j не станет больше N/2.
- Проверка условия, что N делится на j без остатка.
- Если условие выполняется, то прибавляем j к S.
- Увеличиваем значение j на 1 и выходим из внутреннего цикла while с помощью оператора break.
- Проверка условия, что N является совершенным числом (равно сумме своих делителей).
- Если условие выполняется, то выводим сообщение о том, что N - совершенное число.
- Увеличиваем значение N на 2 и продолжаем выполнение внешнего цикла while.
- Если условие в начале программы не выполняется (M равно 0), то выводим сообщение
равно нулю
. - Вызов функции getch для приостановки выполнения программы и ожидания нажатия клавиши.
- Возврат 0, что означает успешное завершение программы.
- Список не содержит более 20 элементов, поэтому его достаточно для оформления в виде списка.
- В данном коде нет ошибок, он полностью рабочий.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д