기금넷 공식사이트 - 복권 조회 - C 언어는 무작위 복권을 시뮬레이션하고 36개 중 7개를 선택합니다.

C 언어는 무작위 복권을 시뮬레이션하고 36개 중 7개를 선택합니다.

/*************************************

* 작성자: wacs5

* 이메일: wacs5@126.com

* 기능: 36개 중 7개 선택

******** **** ******************************/

#include

#include

#include

#include

#include

#include

#define N 36 /*36 7 선택*/

#define M 7 /* 36 선택 7*/

#define TRY_N 10 /*10 실험*/

int main(void)

{

int data[TRY_N][ M]; /*데이터 배열 저장*/

int try_i,i,j;

int sameflag,temp;

int gdriver =DETECT,gmode, 오류 코드;

문자 정보[10];

int order[N];

FILE *fp;

fp=fopen( "randdata.txt","w");

if (fp==NULL)

{

printf("파일 열기 오류:\n종료하려면 아무 키나 누르십시오:");

getch();

exit(-1);

}

initgraph(&gdriver, &gmode,""); /*그래픽 드라이버 초기화*/

randomize() /*임의의 숫자 초기화*/

for (i=0;i

order[i]=i+1;

for (i=0;i

{

j=rand()%(N-i);

temp=order[N-i-1];

주문[N-i-1]=주문[j];

주문[j]=온도;

}

for ( i=0; i

{

itoa(order[i],info,10) /*숫자를 문자열로 변환*/

outtextxy((i%M)*40,(i/M)*20,info) /*그래픽 인터페이스 출력*/

}

for (try_i=0 ;try_i

{

for (i=0;i

{

sameflag=1; /*선택한 숫자는 반복될 수 없기 때문입니다*/

while (sameflag==1) /*반복되면 더 이상 반복되지 않을 때까지 계산*/

{

temp=rand()%N+1 /*1~36 생성 사이의 난수 */

for (j=0;j

if (temp = =data[try_i][j]) /*반복되면 다음 번호로 계속됨*/

break;

if (j==i) /*반복하지 않으면 저장 데이터*/

{

데이터[try_i][i]=temp;

sameflag=0;

}

}

}

for (i=0;i

for (j=i + 1;j

if (data[try_i][i]>data[try_i][j])

{

temp = 데이터[try_i][i];

데이터[try_i][i]=data[try_i][j];

데이터[try_i][j]=temp;< / p>

}

for (i=0;i

{

itoa(data[try_i][i] , info,10); /*숫자를 문자열로 변환*/

outtextxy(i*40,(8+try_i)*20,info); /*그래픽 인터페이스 출력*/

fprintf(fp,"%2d ",data[try_i][i]);

}

fprintf(fp,"\n");

}

fclose(fp);

getch() /*키를 기다립니다*/

closegraph(); 그래프 인터페이스*/

return 0;

}