2010년 4월 17일 토요일

난수 알아 맞추는 프로그램~

#include // rand(), srand() 함수를 사용하기 위해서 인클루드 함
#include // time() 함수를 사용하기 위해서 인클루드 함
#include

int random(int);

void main()
{
int num,num1 = 0, num2 = 0, num3 = 0;
int ran,ct=1;
srand( time (0) ); //매번 실행 할때 마다 같은 순서의 난수값을 발생시키 않기 위해 현재 시간값을 준다.
ran = random(100);

while(1){

printf("#숫자를 입력하시오 : ");
scanf("%d", &num);

if (ran == num){

printf(" 우와~ 맞았당~~~ 추카추카~~~~ %d 번째 만에 맞추셨습니다. \n",ct);
break;
}

else if ( num1 < ran && ran < num ) {

printf("%d보다는 크고 %d보다는 작습니다. \n",num1, num);
num3 = num1;
num2 = num;
}

else {

if ( ct == 1 && num < ran){
printf("%d 보다는 큰 수입니다. \n",num);

}

else{

if( ct != 1 && num < ran){

if( num1 < num){

if(num2 == 0){
printf("%d 보다는 큰 수입니다. \n",num);
}

else {
printf("%d보다는 크고 %d보다는 작습니다. \n",num, num2);

}
}

else {
printf("%d보다는 크고 %d보다는 작습니다. \n",num, num1);
num2 = num1;
}
}

else{

if(num1 < num) {

printf("%d보다는 크고 %d보다는 작습니다. \n",num, num1);
num3 = num1;
}

else {
printf("%d보다는 크고 %d보다는 작습니다. \n",num3, num);

}
}
}
}

num1 = num;
ct++;
}
}

int random(int n)
{
int res;
res = rand() % n; //0에서 n-1까지 난수 발생
return res+1; //그값에 1을 더해주어 반환하면 1에서 n까지 난수 발생
}

댓글 없음:

댓글 쓰기