0 голосов
спросил от в категории C
Первая проблема:
Цитата:
Создайте программу для печати простого номера до N

Каково значение N в этом коде?

Вторая проблема:
Учитесь правильно отбирать свой код, он показывает свою структуру, и это помогает читать и понимать. Это также помогает выявлять ошибки структур.
#include<iostream> #include<cmath> using namespace std; int main() {   short N,pc=0,num=2;   bool prime;   while(pc!=N)   {     prime=true;     for(short i=2;i<=sqrt(N);i++)     {       if(N%i==0)       {         prime=false;         break;       }     }   }  // this line is misplaced   if(prime)   {     pc++;     cout<<num;   }   // and should be here   return 0; }

Редакторы профессионального программиста имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
#include<iostream> #include<cmath> using namespace std; int main() {   short N,pc=0,num=2;   bool prime;   while(pc!=N)   {     prime=true;     for(short i=2;i<=sqrt(N);i++)     {       if(N%i==0)       {         prime=false;         break;       }     }   }  // this line is misplaced   if(prime)   {     pc++;     cout<<num;   }   // and should be here   return 0; }
# [#^ #]
#ultraedit # [#^ #]

Третья проблема:
Ваш код всегда проверяет, является ли N простым или нет. Это неправильно.

Ваш код не ведет себя так, как вы ожидаете, или вы не понимаете, почему!

Существует почти универсальное решение: шаг за шагом запускайте свой код на отладчике, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача сравнить его с тем, что он должен делать.
В отладчике нет волшебства, он не знает, что должен делать ваш cpde, он не находит ошибок, он просто помогает вам показать вам, что происходит. Когда код не делает то, что ожидается, вы близки к ошибке.
Чтобы узнать, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Недостаток этого решения:
- это DIY, вы отслеживаете проблемы и найти свои корни, которые приводят к решению.
Поверхность этого решения:
- Это отличный инструмент обучения, потому что он показывает вам реальность, и вы можете видеть, какие ожидание соответствия реальности.

вторичные эффекты
- Вы будете гордиться тем, что сами обнаружили ошибки.
- Ваши навыки обучения улучшатся


Вы должны найти довольно быстро, что не так.

#Debugger - Wikipedia, the free encyclopedia # [#^ #]

#Mastering Debugging in Visual Studio 2010 - A Beginner's Guide # [#^ #]
#Basic Debugging with Visual Studio 2010 - YouTube # [#^ #]
1
#include<iostream> #include<cmath> using namespace std; int main() {   short N,pc=0,num=2;   bool prime;   while(pc!=N)   {     prime=true;     for(short i=2;i<=sqrt(N);i++)     {       if(N%i==0)       {         prime=false;         break;       }     }   }  // this line is misplaced   if(prime)   {     pc++;     cout<<num;   }   // and should be here   return 0; }
# [1#^ #]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача сравнить с тем, что ему нужно d o.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
0 голосов
ответил от
Вы должны сделать то же самое базовое #input/output # в своем коде, чтобы получить N.

И проверка неравенства очень bad idea , потому что N должен быть равен pc, иначе он будет работать вечно. Я бы назвал это недостатком дизайна , чтобы не называть его серьезной ошибкой .

Лучше проверить с меньшим оператором , но ваш код пока неясен.
0 голосов
ответил от
Вы не задали переменную N для любого значения.
short N,pc=0,num=2; bool prime; while(pc!=N) // what is the value of N? { 

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...