C-C++/쉽게 풀어 쓴 C 언어 EXPRESS

[쉽게 풀어 쓴 C 언어 EXPRESS] 6장 Programming(실습) 답

최옥구 2023. 1. 11. 23:00
반응형

1. 키보드에서 하나의 문자를 읽어서 모음과 자음을 구분하는 프로그램을 작성하여 보자. 단 switch 문을 사용한다.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	printf("문자를 입력하시오 : ");
	char c = getchar();
	switch (c) {
	case 'a':
		printf("모음입니다.");
		break;
	case 'i':
		printf("모음입니다.");
		break;
	case 'u':
		printf("모음입니다.");
		break;
	case 'e':
		printf("모음입니다.");
		break;
	case 'o':
		printf("모음입니다.");
		break;
	default:
		printf("자음입니다.");
		break;
	}
}

 


 

2. 사용자로부터 2개의 정수를 받아서 첫 번째 정수가 두 번째 정수로 나누어 떨어지는 지를 검사하는 프로그램을 작성하라. 즉 약수인지를 검사한다.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int a = 0, b = 0;
	printf("문자를 입력하시오 : ");
	scanf("%d", &a);
	printf("문자를 입력하시오 : ");
	scanf("%d", &b);

	if (a % b == 0) {
		printf("약수입니다.");
	}
	else
		printf("약수가 아닙니다.");
}

 


 

3. 사용자로부터 3개의 정수를 읽어 들인 후에 if - else 문을 사용하여 가장 작은 값을 결정하는 프로그램을 작성하라.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int a = 0, b = 0, c = 0;
	printf("3개의 정수를 입력하시오 : ");
	scanf("%d %d %d", &a, &b, &c);
	
	int min = a;
	if (min > b) {
		if (min > c)
			printf("제일 작은 정수는 %d입니다.", c);
		else 
			printf("제일 작은 정수는 %d입니다.", b);
	}
	else 
		printf("제일 작은 정수는 %d입니다.", a);
}

 


 

4. 컴퓨터와 가위, 바위, 보 게임을 하는 프로그램을 작성하라. 컴퓨터는 사용자에게 알리지 않고 가위, 바위, 보 중에서 임의로 하나를 선택한다. 사용자는 프로그램의 입력 안내 메시지에 다라서, 3개 중에서 하나를 선택하게 된다. 사용자의 선택이 긑나면 컴퓨터는 누가 무엇을 선택하였고 누가 이겼는지, 비겼는지를 알려준다.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int num = 0;
	printf("선택하시오 (1:가위, 2:바위, 3:보)");
	scanf("%d", &num);
	
	int cnum = rand() % 3 + 1;

	if (num == cnum) 
		printf("비겼습니다.");
	else if((num == 1 && cnum == 3) || (num == 2 && cnum == 1) || (num == 3 && cnum == 2))
		printf("인간 승리!");
	else
		printf("컴퓨터 승리!");
}

 


 

5. 놀이 공원에서 롤러코스터를 타려면 키가 140cm 이상이고 나이가 10살 이상이어야 한다고 가정하자. 사용자에게 키와 나이를 질문한 후에 "타도 좋습니다." 또는 "죄송합니다."를 출력하는 프로그램을 작성하라.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int height = 0, age = 0;
	printf("키를 입력하세요(cm) : ");
	scanf("%d", &height);
	printf("나이를 입력하세요 : ");
	scanf("%d", &age);

	if (height >= 140 && age >= 10)
		printf("타도 좋습니다.");
	else
		printf("탈 수 없습니다.");
	
}

 


 

6. 사용자로부터 몇 월인지를 정수로 입력받아서 Jan와 같은 영단어로 출력하는 프로그램을 작성하라.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int num = 0;
	printf("월 번호를 입력하세요. : ");
	scanf(" %d", &num);

	switch (num)
	{
	case 1:
		printf("Jan");
		break;
	case 2:
		printf("Feb");
		break;
	case 3:
		printf("Mar");
		break;
	case 4:
		printf("Apr");
		break;
	case 5:
		printf("May");
		break;
	case 6:
		printf("Jun");
		break;
	case 7:
		printf("Jul");
		break;
	case 8:
		printf("Aug");
		break;
	case 9:
		printf("Sep");
		break;
	case 10:
		printf("Oct");
		break;
	case 11:
		printf("Nov");
		break;
	case 12:
		printf("Dec");
		break;
	default:
		break;
	}
}

 


 

7. 사용자로부터 키를 입력받아서 표준 체중을 계산한 후에 사용자의 체중과 비교하여 저체중인지, 표준인지, 과체중인지를 판단하는 프로그램을 작성하라. 표준 체중 계산식은 다음을 사용하라.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int height = 0, weight = 0;
	printf("체중과 키를 입력하세요. : ");
	scanf("%d %d", &height, &weight);
	int regular = (height - 100) * 0.9;

	if (regular < weight)
		printf("과체중입니다.");
	else if (regular == weight)
		printf("표준 체중중입니다.");
	else if (regular > weight)
		printf("저체중입니다.");
	
}

 


 

8. 놀이 공원의 자유이용권의 가격을 계산하는 프로그램을 작성하여 보자. 입장료는 다음과 같은 조건으로 결정된다. 현재 시간과 사용자의 나이를 입력받아서 지불해야 하는 요금을 화면에 출력한다.

[결과]

[소스 코드]

	int time = 0, age = 0;
	printf("현재 시간과 나이를 입력하시오. : ");
	scanf("%d %d", &time, &age);
	if (time < 17) {
		if (age > 12)
			printf("요금은 34,000원입니다.");
		else if ((3 <= age && age <= 12) || age >= 65)
			printf("요금은 25,000원입니다.");
	}
	else
		printf("요금은 10,000원입니다.");
}

 

 


 

9. 다음과 같이 정의되는 함수의 함수값을 계산하여 보자. 사용자로부터 x값을 입력받아서 함수값을 계산하여 화면에 출력한다. x는 실수이다.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	float x = 0;
	printf("x의 값을 입력하시오 : ");
	scanf("%f", &x);
	if (x <= 0) {
		printf("%f", x * x - 9 * x + 2);
	}
	else if (x > 0) {
		printf("%f", 7 * x + 2);
	}
}

 


 

10.(x, y) 좌표를 입력받아서  좌표가 속하는 사분면을 출력하는 프로그램을 작성하라.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int x = 0, y = 0;
	printf("좌표 (x, y) : ");
	scanf("%d %d", &x, &y);
	if (x > 0 && y > 0)
		printf("1사분면");
	else if (x < 0 && y > 0)
		printf("2사분면");
	else if (x < 0 && y < 0)
		printf("3사분면");
	else if (x > 0 && y < 0)
		printf("4사분면");
}

 


 

11. 사용자로부터 하나의 문자를 입력받아서 문자가 'R'이나 'r'이면 "Rectangle"이라고 출력한다. 'T'이거나 't'이면 "Triangle" , 'C'이거나 'c'이면 "Circle" 이라고 출력하는 프로그램을 작성한다. 그 외에 문자가 들어오면 "Unknown"이라고 출력한다.

[결과]

[소스 코드]

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
	char c;
	printf("문자를 입력하시오 :  ");
	scanf("%c", &c);
	switch (c)
	{
	case 'R':
	case'r':
		printf("Rectangle");
		break;
	case 'T':
	case 't':
		printf("Triangle");
		break;
	case'C':
	case 'c':
		printf("Circle");
		break;
	default:
		printf("Unknown");
		break;
	}
}

 

반응형