728x90
728x90
rand() : 0~32767 사이 랜덤한 숫자 반환
프로그램이 생성될 때 정해지는 값이라 진정한 난수가 아님
int rand(void)
필요 헤더파일
<stdlib.h> //C
<cstdlib> //C++
srand()
프로그램 실행 중에(런타임 동안에) 항상 변하는 seed 값을 넣어주어야 한다.
void srand(unsigned int)
srand(time(NULL));
필요 헤더파일
<stdlib.h> //C
<cstdlib> //C++
time()
1970년 1월 1일 0시 0분 0초를 기점으로 현재까지 흐른 시간을 초단위로 나타낸다.
time_t timer = time(NULL);
필요 헤더파일
<time.h> //C
<ctime> //C++
예제
#include <stdio.h>
#include <string.h>
#include <time.h> //time
#include <stdlib.h> //rand
main()
{
int you;
int coin;
char aspect[][10] = {"", "앞면", "뒷면"};
srand(time(NULL)); //난수 생성
printf("앞면은 1, 뒷면은 2, 종료는 다른 값을 입력하시오\n");
while(1) {
coin=rand() %2 + 1;
printf("동전을 던졌습니다 앞면 뒷면 맞추시오 : ");
scanf("%d", &you);
if(you<1 || you>2) {
break;
}else {
printf("사용자: %s 동전: %s\n", aspect[you], aspect[coin]);
printf("%s\n", (you==coin)?"맞았음":"꽝");
}
printf("\n");
}
}
728x90
728x90
'C, C++' 카테고리의 다른 글
C 구조체 (0) | 2021.09.12 |
---|---|
알고리즘이 보이는 그림책 3. 연습문제, 4. 연습문제 (0) | 2021.09.09 |
보안 경고 #define _CRT_SECURE_NO_WARNINGS (0) | 2021.09.08 |
메인 함수(엔트리포인트) (0) | 2021.09.08 |
strcmp, strncmp - 두 문자열 일치 비교, 길이 특정 (0) | 2021.09.08 |