Notice
Recent Posts
Recent Comments
Link
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

강동영의 일상

[쉽게 풀어쓴 C언어 Express] 4일 차 본문

coding

[쉽게 풀어쓴 C언어 Express] 4일 차

rokaf6444 2022. 11. 4. 02:30

01. int 형의 정수를 비트 연산자를 사용하여서 2의 보수(2’s complement)로 변환하는 프로그램을 작성하여 보자. 2의 보수는 먼저 전체 비트를 반전시킨 후에 1을 더하면 된다.

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int x;

	printf("정수를 입력하시오: ");
	scanf("%d", &x);
	printf("2의 보수 : %d", ~x + 1);

	return 0;
}

 

정수를 입력하시오: 100
2의 보수 : -100




02. 구의 표면적과 체적을 구하는 프로그램을 작성하라. 구의 반지름은 실수로 입력된다. 아래의 공식을 사용하라 파이값은 기호 상수를 사용하여 정의하라.

 

A = 4 x PI x r^2, V = 4/3 x PI x r^3

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define PI 3.141592

int main() {
	double r, A, V; // 각각 반지름, 표면적, 체적

	printf("구의 반지름을 입력하시오: ");
	scanf("%lf", &r);

	A = 4 * PI * r * r;
	V = (4.0 / 3) * PI * r * r * r;

	printf("표면적은 %lf입니다. \n", A);
	printf("체적은 %lf입니다. ", V);

	return 0;
}

 

구의 반지름을 입력하시오: 10.0
표면적은 1256.636800입니다.
체적은 4188.789333입니다.




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

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int a, b;

	printf("정수를 입력하시오: ");
	scanf("%d", &a);
	printf("정수를 입력하시오: ");
	scanf("%d", &b);

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

	return 0;
}

 

정수를 입력하시오: 18
정수를 입력하시오: 6
약수입니다.




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

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int month;

	printf("월번호를 입력하시오: ");
	scanf("%d", &month);

	switch (month) {
	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("Now"); break;
	case 12: printf("Dec"); break;
	default: printf("잘못 입력하셨습니다."); break;
	}
	return 0;
}

 

월번호를 입력하시오: 10
Oct




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

 

구분 대인 소인(3~12세/65세이상)
자유이용권 (오후 5시 이전) 34,000 25,000
야간이용권 (오후 5시 이후) 10,000

 

#define _CRT_SECEURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int time, age;

	printf("현재 시간과 나이를 입력하시오(시간, 나이): ");
	scanf_s("%d %d", &time, &age);

	if (0 <= time && time < 17)
		if (age > 12 && age < 65)
			printf("요금은 34000입니다.");

		else if (age >= 3 && age <= 12 || age >= 65)
			printf("요금은 10000입니다.");

		else
			printf("입장하실 수 없습니다.");

	else if (17 <= time && time < 24)
		printf("요금은 10000입니다.");

	else
		printf("잘못 입력하셨습니다.");

	return 0;
}

 

현재 시간과 나이를 입력하시오(시간, 나이): 18 33
요금은 10000입니다.