C 언어, 랜덤 수 생성 방법
1940 단어 C 언어
C 언어에서 랜덤 수를 추출하는 데 필요한 함수는 다음과 같습니다.
int rand(void);
void srand (unsigned int n);
rand () 함수와 srand () 함수가 헤더 파일 stdlib에 성명되었습니다.h에서는 두 함수를 사용하려면 헤더 파일을 포함해야 합니다.
#include <stdlib.h>
2. 사용법
rand() 함수가 0에서 RAND 로 반환됨맥스 사이의 위조 랜덤수(pseudorandom).RAND_MAX 상수는 stdlib에 정의됩니다.h 헤더 파일에서.그 값은 32767이나 더 크다.
srand () 함수는 임의의 생성기를 초기화하는 데 사용되는 변수 n을 피드로 사용합니다.같은 피드를 srand () 로 보내고 rand () 를 호출하면 같은 무작위 수 서열이 생성됩니다.따라서 우리는 시간을 srand () 함수의 피드로 삼아 중복되는 것을 피할 수 있다.만약rand () 를 호출하기 전에 srand () 를 먼저 호출하지 않았다면, srand (1) 를 미리 호출한 결과와 같습니다.
for (int i=0; i<10; i++)
{
printf("%d ", rand()%10);
}
실행할 때마다 출력: 1 7 4 0 9 4 8 2 4
srand(1);
for (int i=0; i<10; i++)
{
printf("%d ", rand()%10);
}
실행할 때마다 출력: 1 7 4 0 9 4 8 2 4
예2의 출력 결과는 예1과 완전히 같다.
srand(8);
for (int i=0; i<10; i++)
{
printf("%d ", rand()%10);
}
실행할 때마다 출력: 4 0 1 3 5 3 7 7 1 5
이 프로그램이 얻은 무작위 값도 [0,10) 사이로 srand(1)가 얻은 값과 다르지만 매번 프로그램이 실행될 때마다 결과는 같다.
srand((unsigned)time(NULL));
for (int i=0; i<10; i++)
{
printf("%d ", rand()%10);
}
이 프로그램은 매번 실행할 때마다 결과가 다르다. 왜냐하면 매번 프로그램을 시작하는 시간이 다르기 때문이다.또 주의해야 할 것은 타임 () 함수를 사용하기 전에 헤더 파일 타임을 포함해야 한다는 것이다.h.
3. 주의사항
4
[0,10) 사이의 무작위 정수를 찾으려면rand()의 반환값과 10을 구해야 합니다.
randnumber = rand() % 10;
그럼 0부터 시작하는 값이 아니라면?너는 통용되는 공식 하나만 기억하면 된다.
[a, b) 사이의 무작위 정수(a를 포함하지만 b는 포함하지 않음)를 찾으려면 다음을 사용합니다.
(rand() % (b - a)) + a
4
0~1 사이의 부동점수를 얻으려면:
rand()/(double)(RAND_MAX)
0~100과 같은 더 넓은 범위의 무작위 부동점수를 얻으려면 다음과 같은 방법을 사용할 수 있다.
rand()/((double)(RAND MAX)/100) 기타 상황은 여기서 자세히 설명하지 않습니다.
물론 본고에서 위조 무작위 부동점수를 얻는 방법은 함수의 사용 방법을 설명하는 데 쓰일 뿐이고 너는 더욱 좋은 방법으로 실현할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 구현 천둥 제거 게임 상세 정보먼저 작은 메뉴를 표시하고 게임을 할지 여부를 선택하십시오.사용자가 종료를 선택하면 프로그램 실행이 끝나고, 사용자가 게임을 선택하면 지뢰 제거 위치 좌표를 입력하라는 메시지가 표시됩니다.사용자가 입력한 좌표가 바둑...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.