본문 바로가기
IT/프로그래밍

C언어 본색 파트1 Chapter 8 연습문제 솔루션

by nutrient 2021. 5. 31.
728x90
728x170

 

 

1번

#include <stdio.h>
int main(void)
{
	int num1 = 0, num2 = 0;
	
	printf("두 개의 정수를 입력하세요 : ");
	scanf("%d %d", &num1, &num2);

	if (num1 > num2)
		printf("큰 수는 %d입니다. \n", num1);
	else if (num1 < num2)
		printf("큰 수는 %d입니다. \n", num2);
	else
		printf("두 수는 같습니다. \n");
	
	return 0;
}

/*
	조건문을 사용하여 세 가지 경우의 출력 결과를 달리 합니다.
*/

 

2번

#include <stdio.h>
int main(void)
{
	int num, divider = 100, temp;
	
	printf("3자리 십진수를 입력하세요 : ");
	scanf("%d", &num);

	while (divider > 0) {
		
		temp = num / divider % 10;
		
		if ( temp % 2)
			printf("%d : 홀수 ", temp);
		else
			printf("%d : 짝수 ", temp);

		divider /= 10;
	}
	
	printf("\n");

	return 0;
}

/*
	변수 divider 는 현재 보고 있는 자리수를 얻기 위해 입력받은 값에 나누어주는 수입니다.
	(ex. 백의 자리 수를 얻기 위해서는 100으로 나누어야 한다.)
	변수 temp 는 현재 보고 있는 자리값(0~9) 입니다.
	divider를 100부터 10, 1, 0으로 10씩 나누어 나가면서 백의 자리수부터 일의 자리수까지 확인하고
	divider가 0이 되면 while문을 탈출하여 종료합니다. 
*/

 

3번

#include <stdio.h>
int main(void)
{
	int num;

	printf("점수를 입력하세요 : ");
	scanf("%d", &num);

	num  = num/10;

	switch (num) {
	case 10:
	case 9:
		printf("A\n");
		break;
	case 8:
		printf("B\n");
		break;
	default:
		printf("F\n");
		break;
	}

	return 0;
}

/*
	입력받은 값은 항상 100 이하 이므로 이를 10으로 나누면 10 이하의 수가 됩니다. 
	입력받은 값을 10으로 나누어 10, 9 (즉 입력받은 값이 90~100 인 경우) 라면 A를
	8 (즉 입력받은 값이 80~89 인 경우) 라면 B를 
	나머지 경우에는 F를 출력하면 됩니다. 
*/

 

4번

#include <stdio.h>
int main(void)
{
	int i;

	for (i = 1; i < 101; i++)
	{
		if (i % 2)
			printf("%d ", i);
		else
			continue;
	}
	
	printf("\n");
	return 0;
}

 

5번

#include <stdio.h>
int main(void)
{
	int a, b, c;

	printf("input : ");
	scanf("%d", &a);
	printf("input : ");
	scanf("%d", &b);
	printf("input : ");
	scanf("%d", &c);

	if(a>=b)
		if(a>=c)
			printf("result : %d\n", a);
		else
			printf("result : %d\n", c);
	else
		if(b>=c)
			printf("result : %d\n", b);
		else
			printf("result : %d\n", c);
	
	return 0;
}

/*
	세 수 중 가장 큰 수를 얻기 위해서는 최소 두번의 비교가 필요합니다. 
	단, 같은 수를 입력받은 경우도 처리되어야 하기 때문에
	비교 연산자 중 >=, <= 를 사용하면 됩니다. 
*/
728x90
그리드형

댓글