종달새는 노래를 하는가

종달새는 날씨가 화창할 때 특정 시간에 노래를 한다고 한다. 이를 확인하기 위한 시뮬레이터를 만들어 보자! 다음 조건에 맞추어 결과화면과 같이 출력이 되도록 프로그램을 작성하십시오.

조건

  • 입력 받은 값은 없으며, 2개의 난수 범위는 각 0부터 23 사이(시각) 그리고 0 또는 1(날씨)이다.
  • 난수는 stdlib.h 및 time.h 헤더의 srand() 함수와 rand() 함수 및 time() 함수를 사용하여 구한다.
  • 현재 시각은 오전 또는 오후로 표시 형식을 바꾸어 출력한다.
  • 날씨는 50% 확률로 화창하거나 화창하지 않는다.
  • 종달새가 노래하는 조건은, 날씨가 화창하고 시각이 오전 6시부터 오전 9시 사이 또는 오후 2시부터 오후 4시 사이이다.
  • 종달새의 아스키 아트의 출력은 자유이다.

입력 예

오후 2시 화창하지 않음
오전 8시 화창함

출력 예

종달새가 노래하지 않음
종달새가 노래를 한다

image

Source

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

int main(void) {
	srand(time(NULL));
	int time, weather;

	time = rand() % 24;
	weather = rand() % 2; //0은 화창하지 않음, 1은 화창함

	if (time >= 13 && time <= 23)
		printf("현재 시각은 오후%d시입니다.\n", time - 12);
	else if (time == 12)
		printf("현재 시각은 오후12시입니다.\n");
	else if (time == 24)
		printf("현재 시각은 오전12시입니다.\n");
	else
		printf("현재 시각은 오전%d시입니다.\n", time);

	if (weather == 1)
		printf("현재 날씨는 화창합니다.\n");
	else
		printf("현재 날씨는 화창하지 않습니다.\n");

	if ((weather == 1 && time >= 6 && time <= 9) || (weather == 1 && time >= 14 && time <= 16))
		printf("종달새가 노래를 한다.");
	else
		printf("종달새가 노래를 하지 않는다.");

	return 0;
}

태그:

카테고리:

업데이트: