
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
int main()
{
int luckypaper[45]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45};
int i,j;
int answer[6]={0,0,0,0,0,0};
srand(time(NULL));
for(j=0; j<7; j++)
{
i=luckypaper[rand()%44];
luckypaper[i-1]=0;
if(i==0)
{
j--;
continue;
}
printf("3초 후에 숫자가 나옵니다.\n");
printf("%d번째 숫자 : ",j+1);
Sleep(3000);
printf("%d\n\a\a\a",i);
answer[j]=i;
if(answer[5]!=0)
{
break;
}
}
printf("여러분 모두 맞히셨나요?\n");
return 0;
}
continue를 사용하셔서 j가 증가하며 반복문을 돌게 되어서 그럴겁니다.
그리고, i가 0일 경우, 배열 참조 오류가 뜨지 않을까 싶네요.