동전을 100번 던져서 앞, 뒷면이 나오는 횟수와 사용자가 앞면에 많이 나왔는지 뒷면에 많이 나왔는지를 맞추는 프로그램을 작성해보겠습니다.
일단 랜덤으로 돌려야 하니 srand(time(NULL)); 로 시간마다 초기화를 해줍니다.
random = rand() % 2; 으로 0,1을 표현합니다. 표현한 random은 for문으로 loop를 돌려주고요.
그리고 그 변수들은 다 더하고 앞면, 즉 0이 나왔을 때 front++을 해주고 뒷면이 나오면 back++을 해줍니다.
그리고 결과는 front와 back 그리고 예측한(입력한) 0,1을 통해 if문으로 표현하여 줍니다.
if문을 너무 많이 사용한 감이 있는데.. 모든 경우의 수를 나타내려다 보니^^
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL));
int tmp, random;
int front = 0, back = 0;
printf("동전의 어느 면이 많이 나왔나요? (0:앞면 1:뒷면) :");
scanf_s("%d", &tmp);
printf("결과\n");
for (int i = 0; i < 100; i++) {
random = rand() % 2;
if (random == 0)
front++;
else
back++;
}
printf("동전의 앞면: %d\n", front);
printf("동전의 뒷면: %d\n", back);
if(front > back && tmp == 0)
printf("당신은 맞추었습니다.\n");
else if (front > back && tmp == 1)
printf("당신은 틀렸습니다.\n");
else if (front < back && tmp == 0)
printf("당신은 틀렸습니다.\n");
else if (front < back && tmp == 1)
printf("당신은 맞추었습니다.\n");
else if (front == back && tmp == 0)
printf("동전은 50:50으로 나왔습니다.\n");
else if (front == back && tmp == 1)
printf("동전은 50:50으로 나왔습니다.\n");
else
printf("잘못된 숫자를 입력하였습니다.");
return 0;
}
'Study > Computer' 카테고리의 다른 글
통계 언어에 대한 간단한 정리 (0) | 2019.12.17 |
---|---|
C언어 : 주사위 던지기, VS2019에서 scanf 사용하기 (0) | 2019.12.12 |
미래의 메모리 기술(Emerging Memory Technology) (3) | 2019.12.04 |
가설과 검정 [R언어를 쓰기 위한 초석닦기] (0) | 2019.11.13 |
R 언어 설치하기 및 기본 명령어 (0) | 2019.11.13 |