자료/C언어 스케치

[C 언어 스케치] 프로그래밍 연습 3장 문제 풀이, 솔루션 (1)

PSY_CHOPATH 2020. 6. 29. 23:16

CHAPTER 3 ::

프로그래밍 연습


1. 다음 조건을 만족하는 프로그램을 작성하시오.

0에서 17까지 8진수, 10진수, 16진수로 출력

 

% -> 형식제어문자,

# -> 8진수면 숫자 앞에 0, 16진수면 숫자앞에 0X 또는 0x 추가

4 -> 4칸만큼 우측정렬

#include<stdio.h>

int main(void)
{
	printf("8진수  :%#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o %#4o\n",
		1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17);
	printf("10진수 :%4d %4d %4d %4d %4d %4d %4d %4d %4d %4d %4d %4d %4d %4d %4d %4d %4d\n",
		1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17);
	printf("16진수 :%#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X %#4X\n",
		1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17);
	return 0;
}


2. 다음을 출력하는 프로그램을 작성하시오.

“C” 언어는 재미있는 ‘프로그래밍 언어’이네요.
#include<stdio.h>

int main(void)
{
	printf("\"C\" 언어는 재미있는 '프로그래밍 언어'네요.\n");

	return 0;
}


3. 반지름이 7.58인 원의 면적과 둘레와 길이를 구하는 프로그램을 작성하시오.

면적공식: 반지름 * 반지름 * 3.14(원주율)
둘레공식: 2 * 3.14(원주율) * 반지름
#include<stdio.h>

#define 파이 3.14

int main(void)
{
	double 반지름 = 7.58;

	printf("원의 반지름: %f\n", 반지름);
	printf("원의 면적: %f\n", 반지름 * 반지름 * 파이);
	printf("원의 둘레:  %f\n", 2 * 반지름 * 파이);

	return 0;
}

 


4. 위 프로그램에서 다음 조건을 만족하는 프로그램으로 수정하여 작성하시오

원주율을 보다 정확하게 3.141592로 계산
#include<stdio.h>

#define 파이 3.141592

int main(void)
{
	double 반지름 = 7.58;

	printf("원의 반지름: %f\n", 반지름);
	printf("원의 면적: %f\n", 반지름 * 반지름 * 파이);
	printf("원의 둘레:  %f\n", 2 * 반지름 * 파이);

	return 0;
}

 


5. 위 프로그램에서 다음 조건을 만족하는 프로그램으로 수정하여 작성하시오.

원의 반지름을 표준입력으로 처리

 

scanf( )함수를 사용할 때 오류나는 것을 막기위해 #define _CRT_SECURE_NO_WARNINGS를 최상단에 입력

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

#define 파이 3.141592

int main(void)
{
	double 반지름;

	printf("원의 반지름을 입력해주세요! >> ");
	scanf("%lf", &반지름);
	
	printf("\n원의 반지름: %18f\n", 반지름);
	printf("원의 면적: %20f\n", 반지름 * 반지름 * 파이);
	printf("원의 둘레: %20f\n", 2 * 반지름 * 파이);

	return 0;
}

 


6. 표준입력으로 화씨온도를 소수로 입력 받아 섭씨온도를 출력하는 프로그램을 작성하시오.

섭씨온도 = 5.0 / 9.0 * (화씨온도 - 32.0)
섭씨온도를 소수 4째자리까지 출력
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void)
{
	double 화씨;

	printf("화씨온도를 입력해주세요! >> ");
	scanf("%lf", &화씨);
	puts("");
	printf("입력된 화씨온도: %f\n", 화씨);
	printf("화씨온도가 %f 일 때, 섭씨온도는 %.4f 입니다!!!\n", 화씨, (5.0 / 9.0) * (화씨 - 32.0));

	return 0;
}

 


7. 위 프로그램에서 다음 조건을 만족하는 프로그램으로 수정하여 작성하시오.

표준입력으로 섭씨온도를 소수로 입력 받아 화씨온도를 소수 4째 자리까지 출력
화씨온도 = (9.0 / 5.0) * 섭씨온도 + 32.0
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void)
{
	double 섭씨;

	printf("섭씨온도를 입력해주세요! >> ");
	scanf("%lf", &섭씨);
	puts("");
	printf("입력된 섭씨온도: %f\n", 섭씨);
	printf("섭씨온도가 %f 일 때, 화씨온도는 %.4f 입니다!!!\n", 섭씨, (9.0 / 5.0) * 섭씨 + 32.0);

	return 0;
}

 


8. 컴퓨터에서 경보음이 울리고 다음 문장이 출력되는 프로그램을 작성하시오.

수업시간입니다.

 

문자열 안에서 제어문자를 사용

#include<stdio.h>

int main(void)
{
	printf("\a수업 시간입니다.\n");

	return 0;
}

 

문자 형식제어문자를 %c를 사용해서 알람을 출력

#include<stdio.h>

int main(void)
{
	printf("%c수업 시간입니다.\n", '\a');

	return 0;
}

 

(띠링~♩) 소리가 들린 후 텍스트가 출력된다.


9. 다음 조건을 만족하는 프로그램을 작성하시오.

아스키 코드 값이 8진수로 041에서 045까지 문자 출력
#include <stdio.h>

int main(void)
{
	char ch = '\041';

	printf("%c\n", ch); ch = ch + 1;
	printf("%c\n", ch); ch = ch + 1;
	printf("%c\n", ch); ch = ch + 1;
	printf("%c\n", ch); ch = ch + 1;
	printf("%c\n", ch);

	return 0;
}

 


10. 아파트 면적인 18, 25, 32, 44, 52평을 제곱미터(m2)의 면적으로 출력하는 프로그램을 작성하시오.

1평은 3.305785제곱미터(m2)
#include <stdio.h>

int main(void)
{
	const double 평 = 3.305785;

	printf("%2d 평은 %10.3f 제곱미터입니다.\n", 18, 18 * 평);
	printf("%2d 평은 %10.3f 제곱미터입니다.\n", 25, 25 * 평);
	printf("%2d 평은 %10.3f 제곱미터입니다.\n", 32, 32 * 평);
	printf("%2d 평은 %10.3f 제곱미터입니다.\n", 44, 44 * 평);
	printf("%2d 평은 %10.3f 제곱미터입니다.\n", 54, 54 * 평);

	return 0;
}

 


문제 11번부터는 [C 언어 스케치] 프로그래밍 연습 3장 문제 풀이, 솔루션 (2) 에서 계속 . . .