사용자가 입력 한 두 숫자 범위 내에있는 5 개의 난수를 생성하는 난수 생성기를 만들어야합니다. 예 : 사용자가 먼저 1을 입력 한 다음 10을 입력합니다. 생성 된 난수는 2,3,4,5,8이 될 수 있습니다. 1 개의 난수를 5 번 줄 수는 있지만 5 개의 다른 난수는 아닙니다. 아래를 참조하십시오. 도움을 주시면 감사하겠습니다. 감사!
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
int num1, num2, randNum, seed;
cout << "enter number 1.\n";
cin >> num1;
cout << "enter number 2.\n";
cin >> num2;
seed = num1 - num2;
randNum = rand() % seed + 1;
cout << randNum << "\n";
cout << randNum << "\n";
cout << randNum << "\n";
cout << randNum << "\n";
cout << randNum << "\n";
return 0;
}
randNum
호출 cout
할 때 마다 수정되지 않으므로 항상 동일한 값을 표시합니다. 작동하려면 다음과 같은 루프를 사용해야합니다.
for(int i=0;i<5;i++){
randNum = rand() % seed + num2;
cout << randNum << "\n";
}
두 번째 실수는 +1
대신을 사용 하는 것이 었 +num2
으므로 num2
이보다 작다고 가정하면 예상 범위 내에서 숫자가 생성됩니다 num1
.
고려해야 할 사항이 한 가지 더 있습니다 seed
. 변수 이름입니다 . 시드는 난수 생성기를 초기화하는 데 사용하는 것입니다. 여기서 변수는 범위를 표현하기 위해 여기에 있습니다. 매번 프로그램을 실행할 때 다른 결과를 얻으려면 다음과 같이 무언가로 rand를 초기화해야합니다.srand(time(0));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다