코딩 | 개념 정리/C

[C언어] 주사위를 던져 각각의 면의 등장 횟수 구하기

PatienceLee 2021. 4. 17. 23:28

이번 포스팅은 주사위를 100번 던졌을 때, 각각의 면이 몇 번 나왔는지를 보여주는 코드를 작성해보았습니다.

각각의 면에 횟수를 기록해야 하므로 이는 정적 지역변수 static을 활용하여 구현하였습니다.

마지막으로 100회가 되면 for 반복문이 종료가 되고,

각각의 면 횟수가 출력되도록 하였습니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int get_dice_face(); // 주사위 난수 함수
int count_num1(); // 1번 횟수
int count_num2(); // 2번 횟수
int count_num3(); // 3번 횟수
int count_num4(); // 4번 횟수
int count_num5(); // 5번 횟수
int count_num6(); // 6번 횟수

int main(void)
{
	int i, num;
	int count1 = 0;
	int count2 = 0;
	int count3 = 0;
	int count4 = 0;
	int count5 = 0;
	int count6 = 0;

	for (i = 0; i < 100; i++)
	{
		num = get_dice_face();
		if (num == 1)
		{
			count1 = count_num1();
		}
		else if (num == 2)
		{
			count2 = count_num2();
		}
		else if (num == 3)
		{
			count3 = count_num3();
		}
		else if (num == 4)
		{
			count4 = count_num4();
		}
		else if (num == 5)
		{
			count5 =count_num5();
		}
		else
		{
			count6 = count_num6();
		}
	}
	printf("1->%d\n2->%d\n3->%d\n4->%d\n5->%d\n6->%d\n", 
		count1, count2, count3, count4, count5, count6);
	return 0;
}

int get_dice_face()
{
	return rand() % 6 + 1;
}

int count_num1()
{
	static int count;
	count++;
	return count;
}

int count_num2()
{
	static int count;
	count++;
	return count;
}

int count_num3()
{
	static int count;
	count++;
	return count;
}

int count_num4()
{
	static int count;
	count++;
	return count;
}

int count_num5()
{
	static int count;
	count++;
	return count;
}

int count_num6()
{
	static int count;
	count++;
	return count;
}

▲ 위 코드 실행시 화면 출력 값

그럼 오늘도 거운 딩!

반응형