잡다한 사전

(C프로그래밍) 랜덤 홀수 OR 짝수 랜덤 출력하기 본문

프로그래밍 언어/Javascript & firebase

(C프로그래밍) 랜덤 홀수 OR 짝수 랜덤 출력하기

잡사전집사 2020. 11. 5. 17:26
반응형

(C프로그래밍) 랜덤 홀수 OR 짝수 랜덤 출력하기

 

 

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

위 코드들은 #include로 c언어를 사용할 때 선언 해주어야 하는 코드입니다. time.h는 랜덤함수인 rand()를 초기화 해주기 위해서 사용합니다.

 

int main() {
int a, b;
char again;
bool game = 1;

변수를 선언 해줍니다. 먼저 int a, b는 while, if를 돌면서 수를 몇번 돌릴 것인지 확인할 때 사용하는 정수 변수 입니다. char again 변수는 수를 다시 실행 할 것인지 물을 때 문자 값을 받기 위해서 선언을 하였으며, 마지막으로 bool game = 1은 while형이 무한반복으로 하다가 bool형인 true, false를 이용하여 while형을 끝낼 때 사용하기 위해서 선언 하였습니다.

 

srand(time(NULL));

srand(time(NULL));은 rand()함수에 나오는 수를 초기화 해주기 위해서 선언한 것입니다. 이를 선언해주지 않는다면 while 형을 돌면서 rand()함수는 계속 같은 값을 가지고 있어서 프로그램이 돌아갈 때 계속 같은 값이 나오기 때문에 초기화를 해주어야 합니다.

while (game) {

printf("홀수 OR 짝수 : ");

a = 1;

​

while (a++ <= 1) {

b = rand() % 10 + 1;

if (b % 2 == 0) {

printf("짝수\n");

}

else if (b % 2 == 1) {

printf("홀수\n");

}

}


위 코드에서는 첫번째 while문에 bool형인 game을 넣어 무한으로 반복되게 하였습니다. 이 때 bool game = 1을 사용한 것은 마지막에서 다시 실행할 것인지를 질문한 다음 실행하지 않는다고 하면 game을 0으로 바꾸어 while형을 중지하기 위해서 입니다. ​while형이 반복될 때마다 a가 1이 되어 두번째 while형으로 들어가서 한번 반복 된 후 rand()를 이용하여 랜덤한 수를 받은 후 이 수가 2로 나누었을 때 나머지가 0이면 짝수이고, 1이면 홀 수로 출력이 되게 if문을 이용하여 코딩을 하였습니다.

 

printf("다시 생성 하시겠습니까? (Y/N) : ");

​

again = getchar();

getchar();

​

​

if (again == 'N' || again == 'n') {

return 0;

}

}

}


마지막으로 홀수와 짝수를 다시 생성할 것인지 질문하고, getchar()함수를 이용하여 입력을 받은 후 만약 N이 아니라면 다시 돌아가서 반복을 하고, N과 n을 입력한다면 return0를 이용하여 프로그램을 종료하였습니다.

 

반응형