멋쟁이 개발자의 블로그

[쉽게 풀어쓴 C언어 Express] 4장 변수와 자료형 Programming 문제 본문

Language/C

[쉽게 풀어쓴 C언어 Express] 4장 변수와 자료형 Programming 문제

y_MIN 2020. 7. 10. 16:27

01. 사용자로부터 하나의 실수를 입력받아서 소수점 표기 방법과 지수 표기 방법으로 동시에 출력하는 프로그램을 작성하라.

#include <stdio.h>

int main(void)
{
	double a;

	printf("실수를 입력하시오 : ");
	scanf_s("%lf", &a);

	printf("실수형식으로는 %lf입니다.\n", a);
	printf("지수형식으로는 %e입니다.\n", a);

	return 0;
}

02. 사용자로부터 정수를 16진수로 입력받아서 8진수, 10진수, 16진수 형태로 출력하는 프로그램을 작성하라.

#include <stdio.h>

int main(void)
{
	int data;

	printf("16진수 정수를 입력하시오 : ");
	scanf_s("%x", &data);

	printf("8진수로는 %#o입니다.\n", data);
	printf("10진수로는 %d입니다.\n", data);
	printf("16진수로는 %#x입니다.\n", data);

	return 0;
}

03. int형의 변수 x와 y의 값을 서로 교환하는 프로그램을 작성하여 보자. 별도의 변수가 필요하면 정의하여서 사용한다. 변수 x와 y는 10, 20의 값으로 초기화하라.

#include <stdio.h>

int main(void)
{
	int x = 10, y = 20;
	int tmp;

	printf("x = %d, y = %d \n", x, y);

	tmp = x;
	x = y;
	y = tmp;

	printf("x = %d, y = %d \n", x, y);

	return 0;
}

04. 상자의 부피를 구하는 프로그램을 작성하여 보자. 부피는 길이*너비*높이로 계산된다. 길이, 너비, 높이는 모두 double형의 실수로 입력받아 보자.

#include <stdio.h>

int main(void)
{
	double length, width, height, volume;

	printf("상자의 가로 세로 높이를 한번에 입력 : ");
	scanf_s("%lf %lf %lf", &width, &length, &height);
	
	volume = width * length * height;
	printf("상자의 부피는 %lf입니다.\n", volume);

	return 0;
}

05. 우리나라에서 많이 사용되는 면적의 단위인 평을 제곱미터로 환산하는 프로그램을 작성하시오. 여기서 1평은 3.3m^2이다. 변수들의 자료형은 어떤 것을 선택하는 것이 좋은가? 기호 상수를 이용하여 1평당 제곱미터를 나타내어라.

#include <stdio.h>
#define PYEONG 3.3058

int main(void)
{
	double p, m;

	printf("평을 입력하세요 : ");
	scanf_s("%lf", &p);

	m = p * PYEONG;
	printf("%lf평방미터입니다.", m);

	return 0;
}

06. 다음과 같은 수식의 값을 게산하여 화면에 출력하는 프로그램을 작성하시오. 지수 표기법을 사용하여 변수들을 초기화한다.

#include <stdio.h>

int main(void)
{
	double a = 3.32e-3, b = 9.76e-8;
	double result;

	result = a + b;
	printf("%lf\n", result);

	return 0;
}

07. 물리학에서 운동에너지는 E=(mv^2)/2.0으로 계산된다. 사용자로부터 질량(m)과 속도(v)를 받아서 운동에너지(E)를 계산하는 프로그램을 작성하여 보자. 모든 변수는 double형을 사용하라.

#include <stdio.h>

int main(void)
{
	double m, v, E;

	printf("질량(kg) : ");
	scanf_s("%lf", &m);

	printf("속도(m/s) : ");
	scanf_s("%lf", &v);

	E = (m * v * v) / 2.0;	//또는 E = 0.5 * m * v * v;
	printf("운동에너지(J) : %lf\n", E);

	return 0;
}

08. 사용자가 아스키 코드값을 입력하면 그 아스키 코드값에 해당하는 문자를 출력하는 프로그램을 작성하라.

#include <stdio.h>

int main(void)
{
	int x;

	printf("아스키 코드값을 입력하시오 : ");
	scanf_s("%d", &x);

	printf("문자 : %c입니다.\n", x);

	return 0;
}

09. 'a'+1, 'a'+2, 'a'+3을 문자 형식(%c)으로 출력하는 프로그램을 작성하시오.

#include <stdio.h>

int main(void)
{
	printf("%c %c %c\n", 'a' + 1, 'a' + 2, 'a' + 3);

	return 0;
}

10. 경보음이 울린 후에 다음과 같은 메시지를 출력하고 다시 경보음이 울리는 프로그램을 작성하여 보자.

#include <stdio.h>

int main(void)
{
	printf("\a화재가 발생하였습니다.\a\n");

	return 0;
}

11. 다음과 같이 화면에 출력하는 프로그램을 작성하라.

#include <stdio.h>

int main(void)
{
	printf("\"ASCII code\", \'A\', \'B\', \'C\' \n");
	printf("\\t \\a \\n \n");

	return 0;
}