티스토리 뷰
Programming Language/C basic
[C언어] CHAPTER 09 함수와 변수 / Programming 02 / 주사위의 각 면이 나온 횟수 출력
또야 2021. 4. 4. 21:57반응형
get_dice_face() 함수에
정적 지역 변수를 이용하여
각 면이 나온 횟수를 기억하게 하라.
get_dice_face() 함수의 호출 횟수가
100이 되면 각 면의 횟수를 출력한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void get_dice_face();
int main(void)
{
int i = 0;
srand((unsigned)time(NULL));
for (i = 0; i < 100; i++)
get_dice_face();
return 0;
}
void get_dice_face()
{
static int count1, count2, count3, count4, count5, count6, all_count;
int result;
result = rand() % 6 + 1;
all_count += 1;
switch (result)
{
case 1:
count1 += 1;
break;
case 2:
count2 += 1;
break;
case 3:
count3 += 1;
break;
case 4:
count4 += 1;
break;
case 5:
count5 += 1;
break;
case 6:
count6 += 1;
break;
}
if (all_count == 100)
{
printf("1 -> %d\n", count1);
printf("2 -> %d\n", count2);
printf("3 -> %d\n", count3);
printf("4 -> %d\n", count4);
printf("5 -> %d\n", count5);
printf("6 -> %d\n", count6);
}
}
|
cs |
- 설명
line 6-15 :
main 함수에서 반복 횟수를
0으로 초기화 시키고,
srand 시드를 활용하여
프로그램이 재실행 될 때마다
다른 난수를 생성하도록 한다.
또한, for 문을 활용하여
get_dice_face() 함수를
100번 호출하도록 한다.
line 17-19 :
get_dice_face() 함수에는
각 면이 나온 횟수의 변수인
count1 ~ 6 변수와
함수 호출 횟수인 all_count 변수를
정적 지역 변수로 지정하여
재호출되어도 초기화되지 않도록 했다.
line 22-23 :
난수를 1부터 6까지 생성하여
result 변수에 저장하고,
호출될 때마다 all_count를 1 증가 시킨다.
line 25-45 :
switch 문의 조건에
result값이 1~6일 때를 넣어
각 면에 맞는 count를 증가시킨다.
line 47-56 :
all_count (함수 호출 횟수)가 100이 되면
각 면이 나온 횟수를 출력한다.
- 결과
반응형
'Programming Language > C basic' 카테고리의 다른 글
[C언어] CHAPTER 09 함수와 변수 / Programming 05 / 1부터 n까지의 합 계산하기 (0) | 2021.04.04 |
---|---|
[C언어] CHAPTER 09 함수와 변수 / 은행 계좌 구현하기 (0) | 2021.04.04 |
[C언어] CHAPTER 08 함수 / Programming 14 / 두 점 사이의 거리 계산 (0) | 2021.04.04 |
[C언어] CHAPTER 08 함수 / Programming 12 / 입력한 값만큼 * 막대 그래프 그리기 (0) | 2021.04.04 |
[C언어] CHAPTER 08 함수 / Programming 11 / 0.0부터 1.0까지의 난수 반환하기 (0) | 2021.04.04 |
댓글
반응형
Recent Post.
Recent Reply.
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요