"로또 = 자동"이라는 굳은 신념을 가진 나와 같은 사람들을 위한 코드
스킬이 부족해 코드가 효율적이지 못합니다.
기초부터 복습하는 과정이라 혹시 지적사항이 보인다면 피드백 남겨주세요!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void print_Lotto(int arr[],int i, int j);
int make_num(int arr[],int i,int j,int n,int is);
int main(void){
int arr[6];
int n,i=0, j,is=0;
int game = 0;
srand((unsigned int)time(NULL));
printf("로또 번호 생성기 입니다\n");
printf("구매 금액을 입력해주세요: ");
scanf("%d",&game);
if(game%1000 != 0){
printf("로또는 1000원 단위로 구매 할 수 있습니다.\n");
printf("구매 금액을 입력해주세요: ");
scanf("%d",&game);
}
printf("\n[로또 번호]\n");
for(int k=0; k<game/1000; k++){
for(i=0; i<6; i++){
arr[i] = rand() % 45 + 1;
//로또 번호는 1~45 이므로 생성되는 난수범위 0~44 에 +1을 해준다.
make_num(arr,i,j,n,is);
}
printf("%d번째 게임 : ",k+1);
print_Lotto(arr,i,j);
}
return 0;
}
//로또 번호(난수)를 생성하는 함수
int make_num(int arr[],int i, int j, int n, int is){
for(j=0; j<i; j++){
if(arr[i]==arr[j]){
arr[i] = rand()% 45 + 1;
//6개의 난수 중 중복되는 숫자가 발생하면, 해당 배열을 다시 생성
}
}
}
//생성한 로또 번호를 출력하는 함수
void print_Lotto(int arr[],int i, int j){
int temp, least;
for(i=0; i<5; i++){
least = i;
for(j=i+1; j<6; j++)
if(arr[j] < arr[least])
least = j;
temp = arr[i];
arr[i] = arr[least];
arr[least] = temp;
}
for(i=0; i<6; i++){
printf("%d ",arr[i]);
}
printf("\n");
}