C언어 로또 2등
남
질문 제목 : 2등이 안나옵니다질문 요약 :로또 프로그램을 작성했는데 1,3,4,5등은 나오는데 2등이 안나옵니다질문 내용 :일단 rand 는 주석처리 해놨습니다. 일단 1,2,3,4,5등을 확인해야하는지라.
일단 번호를 7개뽑고 마지막것을 보너스 번호로 처리했습니다.
그리고 입력된 수중 한개가 보너스번호하고 맞으면 보너스 번호 카운트를 1로 하고
입력된수 5개와 보너스 번호가 맞으면2등이 나오도록 맞췄는데.
2등만 안나옵니다.소스
스압주의
160줄입니다.
제가 관련있다고 생각하는것에 굵게 표시햇습니다.
#include stdio.h
#include stdlib.h
#include time.h
#define length 7
void lottoNumber(int* arr, int ilength)
{
int temp, iFlag, bonus=0, bonusnumber=0;
int i=0 , j=0;
//srand((unsigned)time(NULL)); //time에따른 임의숫자
while (i ilength) //7보다 작을동안
{
iFlag = 1;
temp = rand()%45 +1; //1~45
for (j=0; j i; ++j) //0부터 i보다작을때까지
{
if (temp == arr[j]) //같은숫자나오면
{
iFlag = 0; //iFlag 0으로
break;
}
}
if (iFlag) //iFlag가 1이면 숫자 넣음
{
arr[i] = temp;
++i;
}
}
bonusnumber = arr[6];
}
void main()
{
int i,lottonumb[length] ={0};
int input[6];
int k=0, l=0, m=0, tempo, pass=0, bonuscount=0, bonusnumber=0, count=0;
lottoNumber(lottonumb, sizeof(lottonumb)/sizeof(int)); //로또 숫자 받음
for(k=0;k6;k++) //로또 당첨 숫자 순서정리
{
{
for(l=0;l6;l++)
{
if(lottonumb[k]lottonumb[l])
{
tempo = lottonumb[k];
lottonumb[k] = lottonumb[l];
lottonumb[l] = tempo;
}
}
}
}// 순서정리끝
while(pass6)
{
A:
printf(1~45사이로 서로 다른수를 입력하세요\n 조건에 안맞으면 다시합니다\n);
scanf_s(%d %d %d %d %d %d, &input[0], &input[1], &input[2], &input[3], &input[4], &input[5]);//입력
for(k=0;k6;k++) //입력 숫자 순서정리
{
for(l=0;l6;l++)
{
if(input[k]input[l])
{
tempo = input[k];
input[k] = input[l];
input[l] = tempo;
}
}
}// 순서정리끝
for(k=0;k6;k++)
{
if(input[k]45||input[k]1)
{
pass--;
}
else
{
pass++;
}
}
}
for(i=0;i6;i++)
{
for(k=0;k6;k++)
{
if(i!=k)//1번째 번호와 1번째 번호는 같음
{
if(input[i]==input[k])
{
goto A;
}
}
}
}
//입력,추첨비교
for(i=0;i6;i++)
{
for(k=0;k6;k++)
{
if(input[i]==lottonumb[k])
{
if(input[i]==bonusnumber)bonuscount = 1;
count++;
break;
}
}
}
for (i=0; ilength-1; ++i) //출력부
{
printf(%2d , input[i]); //화면
}
puts();
for (i=0; ilength-1; ++i) //출력부
{
printf(%2d , lottonumb[i]); //화면
}
printf(보너스 번호 %2d\n, lottonumb[i]);
if(count == 6)
{
printf(1등\n);
}
else if(count == 5 && bonuscount == 1)
{
printf(2등\n);
}
else if(count == 5)
{
printf(3등\n);
}
else if(count == 4)
{
printf(4등\n);
}
else if(count == 3)
{
printf(5등\n);
}
else
{
printf(꽝\n);
}
system(PAUSE);
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |
2699842 | 질문을 너무 많이 하네여.....죄송.... (2) | 해님꽃 | 2025-06-29 |
2699816 | 오류 질문입니다.. (1) | 해비치 | 2025-06-29 |
2699763 | 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) | 미라 | 2025-06-28 |