내가 값 N.까지 소수를 출력하는 프로그램을 작성하기 위해 노력했습니다소수 계산기 C++
프로그램을 실행하면 예상대로, 내가 입력 N의 값을 묻는 메시지가하고 있지만, return을 누르면 프로그램이 종료됩니다. 나는 문제가 break 문에 거짓말 같아요 :
if (modulo == 0) break;
'휴식'만을 중첩 루프를 끝낼 것을 읽고 둘에도 불구하고, 내가 잘못 갈 수있는 유일한 방법으로 그것을 참조하십시오. 이것을 '계속'으로 바꾸면 프로그램은 N에서 0까지의 모든 정수를 출력하므로 N = 20을 입력하면 출력은 20, 19, 18, ... 3, 2,
관련 항목 섹션의 코드는 다음과 같습니다. C++ 초보자를위한 도움/조언이 있으면 크게 환영 할 것입니다.
int N, f;
float modulo;
cout << "Welcome to the prime number sieve\n";
cout << "Enter the number up to which the prime numbers will be printed: ";
cin >> N;
for (int j = N; j != 1; j--) {
f = j;
for (f; f != 0; f--) {
modulo = j%f;
if (f == 1) {
cout << j << ", ";
}
if (modulo == 0) break;
}
}
return 0;
코드를 단계별로 실행하십시오 (수동으로 펜 및 종이로 또는 디버거를 사용하여 시도하십시오). 이것은 실제로 여기서 일어나고있는 것을 알아내는 데 도움을 줄 것입니다 (특히 내부 루프에서 계산 될 때 '모듈러스'의 값을 살펴보십시오). – SleuthEye
시간 내 주셔서 감사합니다. SleuthEye, 다시 살펴 보겠습니다. – Tom