Нужно чтобы при вводе числа 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;
}

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

  1. Подключение необходимых библиотек для работы с консолью и вводом-выводом чисел.
  2. Объявление переменных: M (введенное число), N (первая константа), S (сумма делителей), j (счетчик делителей).
  3. Вывод сообщения с просьбой ввести число M.
  4. Считывание числа M с помощью функции scanf и сохранение его в переменную M.
  5. Установка значения N равным 4.
  6. Проверка условия, что M не равно 0.
  7. Запуск цикла while, который будет выполняться до тех пор, пока N не станет больше M.
  8. Установка значения S равным 1 и j равным 2.
  9. Запуск внутреннего цикла while, который будет выполняться до тех пор, пока j не станет больше N/2.
  10. Проверка условия, что N делится на j без остатка.
  11. Если условие выполняется, то прибавляем j к S.
  12. Увеличиваем значение j на 1 и выходим из внутреннего цикла while с помощью оператора break.
  13. Проверка условия, что N является совершенным числом (равно сумме своих делителей).
  14. Если условие выполняется, то выводим сообщение о том, что N - совершенное число.
  15. Увеличиваем значение N на 2 и продолжаем выполнение внешнего цикла while.
  16. Если условие в начале программы не выполняется (M равно 0), то выводим сообщение равно нулю.
  17. Вызов функции getch для приостановки выполнения программы и ожидания нажатия клавиши.
  18. Возврат 0, что означает успешное завершение программы.
  19. Список не содержит более 20 элементов, поэтому его достаточно для оформления в виде списка.
  20. В данном коде нет ошибок, он полностью рабочий.

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


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

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

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