프로그래밍/C언어 2016. 4. 19. 10:27 336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다. ◎ rand 함수 - rand 함수는 난수를 발생시키는 함수이다. 범위는 0~32767. rand 함수의 활용 #include <stdlib.h> // 해당 파일을 포함시켜 줘야 rand 함수를 사용할 수 있다. int main() { int nNum = 1; // 번호 출력용 for(int nCount = 0; nCount < 3; ++nCount) {
int nRandom = rand(); // 난수를 생성 printf("[%d] %d\n", nNum, nRandom); nNum++; } return 0; } 결과값 rand 함수는 0~32767의 난수를 생성한다. 출력되는 난수의 범위를 지정하고 싶으면 rand() % 100 이런 식으로 범위를 정할 수 있다. rand 함수 범위 지정 #include <stdlib.h> int main() { int nNum = 1; for(int nCount = 0; nCount < 3; ++nCount) { // 생성된 난수를 100으로 나눈 나머지 값을
구한다. int nRandom = rand() % 100; printf("[%d] %d\n", nNum, nRandom); nNum++; } } 결과값 % 100을 추가해 주고나서는 0~99까지의 난수가 출력된다. 이제 실행될때마다 다른 수가 생성될꺼라 생각했지만.... rand 함수만 사용해서는 프로그램 실행때마다 다른 수를 생성할 수 없다. 3번의
실행결과. 이때 필요한 함수가 바로 srand 함수. ◎ srand 함수 - 초기값을 지정하여 rand함수의 난수를 매번 다르게 생성해주는 함수이다. - 초기값이 같으면 srand함수를 사용해도 매번 같은 값이 생성되게 때문에 time() 함수를 넣어 사용한다. srand 함수의 활용 #include <stdio.h> #include <stdlib.h> #include <time.h> // time함수를 사용하기 위해서 선언 int main() { int nNum = 1; // 항상 다른 seed값을 넣어주기
위해 time함수를 인자로 넣어준다. srand((unsigned int)time(NULL)); for(int nCount = 0; nCount < 3; ++nCount) { int nRandom = rand() % 100; printf("[%d] %d\n", nNum, nRandom);
nNum++; } return 0; } 결과값 매번 다른 seed값이 적용되면서 실행시마다 다른 난수값이 생성된다.