rand 값을 리턴하는 함수인데요
민들레
질문 제목 :리턴값의 범위를 띠엄띠엄 줄 수 있는지 궁금합니다리턴값의 범위를 띠엄띠엄 줄 수 있는지 궁금합니다질문 내용 :
rand()%9 하면 0~8 까지 난수를 리턴해주잖아여
저는 0~3 까지 그리고 6~9, 즉 난수가 0,1,2,3,6,7,8,9
가 리턴되게 하고싶은데;; 방법 없을까요
-
FaintTears
질문게시판에는 기본폰트를 사용해야 됩니다.
이 덧글이 반복되면 탈퇴를 당할 수 있습니다. 참고하세요. -
맛조이
좀더 다양한 숫자가 나오게 하고 싶으면, 배열을 이용해서 구할 수도 있습니다.
int get_random_array(void)
{
// 사용자 숫자 배열입니다.
int arrary_numbers[10] = { 1, 2, 4, 5, 7, 8, 11, 14, 15, 20 };
// 난수를 구한 값을 배열에 있는 숫자로 값을 저장합니다.
int value = arrary_numbers[ (rand() % 10) ];
return value;
} -
가랑비
int get_random_0to9(void)
{
// 난수의 전체 갯수 (0부터 7까지의 값이 나옴)
int value = rand() % 8;
// 3보다 크면 +2를 합니다. (예: 4이면 6으로 값을 보정)
if ( value 3 )
value += 2;
return value;
} -
누리별
srand((unsigned)time(0)) ;
// 얘를 꼭 메인 함수에.. 넣어 주세요~ 안 그럼 계속 같은 숫자들이.. -_ㅡ;; -
전갈자리
0~9 까지 발생하게 하고.. 4,5는 무시 하세요~
int random ;
while(1) {
random = rand() % 10 ;
if( random != 4 && random != 5 )
return random ;
}