기금넷 공식사이트 - 복권 조회 - 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; } p > } } 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; }