2015-01-01 15 views
-1

두 변수의 난수를 사용하여 곱셈 퀴즈를 만들고 싶습니다. 내가 이것을 사용하려고 :arc4random on Ccode

int answ 

int rand1= (arc4random()%10)+1; 

int rand2= (arc4random()%20)+1; 

printf("\n¿What is %d * %d?: ", rand1, rand2); 

scanf("%d", &answ); 

if (answ==rand1*rand2) 
    printf("\nCorrect answer!"); 
else 
    printf("\Incorrect answer, the result was %d", rand1*rand2); 

내 문제는 다음 질문이 질문 할 때 임의의 숫자를 모두 변경하지 않습니다. 또한 srand (time (NULL))과 같은 것을 추가하려고 시도했습니다. (이미 stdlib.h 라이브러리가 추가되었습니다)

무엇이 누락 되었습니까?

답변

2

arc4random()은 시드 할 필요가 없으며 이전 반환 된 번호와 관련이없는 임의의 숫자를 반환합니다.

arc4random()으로 새 전화를 걸지 않거나 새 값이 사용되지 않는 등의 문제가 프로그램에 있습니다. 새로운 달리기를 어떻게 요청합니까?

srand(time(NULL))arc4random()과 관련이 없습니다.

arc4random()%10) 대신 머리말을 사용하면 arc4random_uniform(10)을 사용할 수 있습니다.

+0

나는 arc4random_uniform (10)에 대해 arc4random() % 10을 교환했지만 여전히 동일합니다. 하지만 고맙습니다. 나는 네가 말한대로 새로운 도망을 요구해야만했다! – Alex

+0

예, 문제가 아닙니다. arc4random이 올바르게 작동합니다. 어떻게 사용하고 있습니까? 하나 이상의 질문을하는 나머지 코드는 어디에 있습니까? 제공된 코드는 컴파일하지 않더라도 두 가지 오류가 있습니다. – zaph