기금넷 공식사이트 - 복권 조회 - C 언어 추첨 20 선 5 문제 해결!
C 언어 추첨 20 선 5 문제 해결!
# include & ltstdlib.h & gt
# include & ltmem.h & gt
# include & ltstdio.h & gt
#define FILE 1 "data.txt "
# 정의 파일 2 "temp.txt "
# 정의 파일 3 "result.txt "
#define NUM 1 8
# NUM2 5 정의
FILE * FP = NULL
Int * sum = NULL
Int sum 1, sum2, index = 0;;
Intnumber [num1];
Intresult [num2];
Void 초기화 ()
{
Int I, s, t;
Printf ("시스템이 초기화 중입니다. 。 。 \ n ");
Printf ("숫자 범위 입력:");
Scanf("%d %d ",& ampsum 1. 합계 2);
Getchar ();
S =1;
T = NUM2
For(I = 0;; 나<5; ++i)
S * = (t-I);
Sum = (int *) malloc (sizeof (int) * s);
Memset (합계, 0, sizeof(int)* s); * s);
For(I = 0;; 나< num1; ++i)
숫자 [I] = I+1;
Fp = fopen (파일1,"w");
If (fp == NULL)
{
Printf ("파일을 열 수 없습니다! \ n ");
종료 (-1);
}
}
Void asort(int *a, int s)
{
Int I, j, k, t;
For(I = 0;; 나<s-1; ++i)
{
K = I;;
For (j = I+1; J & lts;; ++j)
{
If (a [k] > A[j])
{
K = j;;
}
}
만약 (k! = I)
{
T = a [I];
A [I] = a [k];
A [k] = t;
}
}
}
잘못된 트래버스 (내부 개수)
{
Int I, j, f;
If (cnt == NUM2)
{
Ints = 0;
Int a [num 2];
For(I = 0;; 나 & ltNUM2++i)
S += 결과 [I];
If(s & lt;; Sum1| | s > 합계 2)
반환;
For(I = 0;; 나< 지수; ++i)
{
If (s == sum[i])
반환;
}
합계 [인덱스++] = s;
Memcpy(a, result, sizeof(int)* num 2); 2);
Asort(a, num 2);
For(I = 0;; 나< num 2-1; ++i)
{
Fprintf(fp, "%d", a [I]);
Printf("%d ",a [I]);
}
Fprintf(fp, "%d\n", a [I]);
Printf("%d\n ",a [I]);
반환;
}
For(I = 0;; 나< num1; ++i)
{
F = 0;;
For(j = 0;; J & ltcnt++j)
{
If (결과 [j] == 숫자 [i])
{
F =1;
깨뜨리다
}
}
다음 경우 (f == 1)
계속;
결과 [개수] = 숫자 [I];
순회 (CNT+1);
}
}
빈 지우기 ()
{
무료 (합계);
Printf ("작업이 성공적으로 완료되었습니다! 결과는 result.txt 파일에 저장되었습니다. \ n ");
Printf ("시스템이 청소 중입니다. 。 。 \ n ");
Fclose (FP);
Unlink (파일1);
링크 해제 (파일 2);
}
Void main ()
{
File * FP1;
Int I, f, t, filter [num 2];
Char 선택;
Init ();
순회 (0);
플래시 (FP);
Fclose (FP);
Fp = fopen (파일1,"r");
Fp1= fopen (파일 2, "w");
If (fp == NULL || FP 1 == NULL)
{
Printf ("파일을 열 수 없습니다! \ n ");
종료 (-1);
}
하다
{
Printf ("필터 번호 입력:");
Scanf("%d ",& ampt);
Getchar ();
/*
If(t & lt;; Number[0]| | t>; gt; 번호 [NUM 1- 1])
깨뜨리다
*/
While (1)
{
F = 0;;
Memset(result, 0, sizeof(int)* num 2); 2);
For(I = 0;; 나 & ltNUM2++i)
Fscanf(fp, "%d", result+I);
If (결과 [0] == 0)
깨뜨리다
For(I = 0;; 나 & ltNUM2++i)
{
If (t == result[i])
{
F =1;
깨뜨리다
}
}
다음 경우 (f == 1)
계속;
For(I = 0;; 나< num 2-1; ++i)
{
Printf("%d ",result [I]);
Fprintf(fp 1, "%d", result [I]);
}
Printf("%d\n ",result [I]);
Fprintf(fp 1, "%d\n", result [I]);
}
Fclose (FP);
Fclose (FP1);
Unlink (파일1);
이름 바꾸기 (파일 2, 파일1);
Fp = fopen (파일1,"r");
Fp1= fopen (파일 2, "w");
Printf ("필터링을 계속하시겠습니까 (y/n)?" );
Choice = getchar ();
Getchar ();
}
While (choice = =' y' | | choice = =' y');
Fclose (FP);
Fclose (FP1);
Fp = fopen (파일1,"r");
Fp1= fopen (파일 3, "w");
If (fp == NULL || FP 1 == NULL)
{
Printf ("파일을 열 수 없습니다! \ n ");
종료 (-1);
}
Printf ("필터링할 숫자 세트 입력:");
For(I = 0;; 나 & ltNUM2++i)
Scanf("%d ",필터+I);
For(I = 0;; 나 & ltNUM2++i)
Printf("%d ",filter [I]);
Getchar ();
F = 0;;
While (1)
{
Memset(result, 0, sizeof(int)* num 2); 2);
For(I = 0;; 나 & ltNUM2++i)
Fscanf(fp, "%d", result+I);
If (결과 [0] == 0)
깨뜨리다
I = 0;;
그리고 ((I & ltnum 2)& amp;; & amp (필터 [I] = = result [I++]);
If (i == NUM2)
계속;
For(I = 0;; 나< num 2-1; ++i)
Fprintf(fp 1, "%d", result [I]);
Fprintf(fp 1, "%d\n", result [I]);
}
Fclose (FP1);
Clear ();
시스템 ("일시 중지");
}