Perfect C 6장 프로그래밍 연습은 여러 블로깅으로 정리했습니다.
1번 문제에 대한 참고가 필요하시면 아래의 블로깅을 확인하시면 됩니다.
2020/04/21 - [작업/C 언어] - C언어 평면의 사분면 조건문으로 만들어 보기
이번 글에는 2, 3, 7번에 대한 코딩을 해보았습니다.
그리고 현역 판정 기준을 적용해서 BMI 프로그램을 만들어 보았습니다.
재미로 활용해 보시면 좋을 것 같습니다 :)
2번. 두 실수의 연산 수행하는 프로그램.
입력은 두 실수와 연산에 해당하는 번호입니다.
1(+), 2(-), 3(*), 4(/) 형태로 구성하라고 되어있네요.
연산의 종류가 간단한 수로 되어있기 때문에 switch 문장을 사용하는 것이 적절해 보입니다.
출력은 각 연산을 수행한 결과들을 나타내도록 했습니다.
//문제 2
double num1, num2;
int cal;
printf("두 실수 입력 : ");
scanf("%lf %lf", &num1, &num2);
printf("연산종류 번호선택 1(+), 2(-), 3(*), 4(/) : ");
scanf("%d", &cal);
switch (cal) {
case 1:
printf("%.2lf + %.2lf = %.2lf\n", num1, num2, num1 + num2); // 더하기
break;
case 2:
printf("%.2lf - %.2lf = %.2lf\n", num1, num2, num1 - num2); // 빼기
break;
case 3:
printf("%.2lf * %.2lf = %.2lf\n", num1, num2, num1 * num2); // 곱하기
break;
case 4:
printf("%.2lf / %.2lf = %.2lf\n", num1, num2, num1 / num2); // 나누기
break;
}
3번. BMI 측정 문제입니다.
입력은 kg기준의 몸무게와 cm기준의 키로 합니다.
연산은 m로 하지만 사용자들은 cm를 무의식적으로 사용하기 때문에 입력은 cm로 받았습니다.
18.5 미만 = 저체중
18.5 ~ 22.9 = 정상
23 ~ 24.9 = 과체중
25 ~ 29.9 = 비만
30 ~ 34.9 = 고도비만
35 ~ = 초고도비만
BMI 코드와 현역 BMI 기준을 적용하여 프로그램을 만들었습니다.
현행 규칙에 따르면 키 161cm 이상∼204cm 미만일 때,
BMI가 14∼16.9이거나 33∼49.9면 4급 보충역 판정을 받는다고 합니다.
5번 반복 수행할 수 있도록 만들었으니 궁금하신 분들은 해 보세요 ㅋㅋ..;;
//문제 3
double kg, cm, bmi;
printf("몸무게(kg)와 키(cm)를 순서대로 입력하세요 : ");
scanf("%lf %lf", &kg, &cm);
cm /= 100; //m 단위로 변경
bmi = kg / (cm*cm); //bmi 계산 결과 저장
if (bmi > 34)
printf("BMI 값 = %.1lf, '초고도비만'입니다.\n", bmi);
else if (bmi > 29)
printf("BMI 값 = %.1lf, '고도비만'입니다.\n", bmi);
else if (bmi > 24)
printf("BMI 값 = %.1lf, '비만'입니다.\n", bmi);
else if (bmi > 22)
printf("BMI 값 = %.1lf, '과체중'입니다.\n", bmi);
else if (bmi > 18.4)
printf("BMI 값 = %.1lf, '정상'입니다.\n", bmi);
else
printf("BMI 값 = %.1lf, '저체중'입니다.\n", bmi);
7번. 소득금액에 따른 세금을 계산하는 문제.
위의 연산, BMI처럼 각 경우에 맞는 식을 세우면 간단히 해결할 수 있습니다.
2000만 원인 경우 1200만 원을 넘기 때문에 세금 72만 원을 붙이고
나머지(2000-1200) 800만 원에 세율(15% = 0.15)을 곱한 값을 더합니다.
이는 계산식 72 + (800*0.15)와 같으며 이 결과가 총세금입니다.
//문제 7
int won; //만원 단위 값
int tax; //세금 값
printf("종합소득액 입력(만원기준) : ");
scanf("%d", &won);
if (won > 30000) { //소득이 3억 초과한 경우
tax = 9010 + ((won - 30000)*0.38); // 9천10만원 + 초과세율
printf("소득액 %d만원의 세금은 총 %d만원 입니다.\n\n", won, tax);
}
else if (won > 8800) { //소득이 8800만 초과한 경우
tax = 1590 + ((won - 8800)*0.35);
printf("소득액 %d만원의 세금은 총 %d만원 입니다.\n\n", won, tax);
}
else if (won > 4600) { //소득이 4600만 초과한 경우
tax = 582 + ((won - 4600)*0.24);
printf("소득액 %d만원의 세금은 총 %d만원 입니다.\n\n", won, tax);
}
else if (won > 1200) { //소득이 1200만 초과한 경우
tax = 72 + ((won - 1200)*0.15); // 9천10만원 + 초과세율
printf("소득액 %d만원의 세금은 총 %d만원 입니다.\n\n", won, tax);
}
else { //소득이 1200이하
tax = won * 0.06; // 9천10만원 + 초과세율
printf("소득액 %d만원의 세금은 총 %d만원 입니다.\n\n", won, tax);
}
-끝-
'작업 > Programming' 카테고리의 다른 글
Perfect C 프로그래밍 연습 7장 4, 5번 해결 (0) | 2020.05.12 |
---|---|
Perfect C 6장 프로그래밍 연습 10번, 윤년 구하기 (0) | 2020.05.06 |
C언어 평면의 사분면 조건문으로 만들어 보기 (0) | 2020.04.21 |
Perfect C 프로그래밍 연습 5장 해결 (0) | 2020.04.17 |
Perfect C 프로그래밍 연습 4장 해결 (0) | 2020.04.14 |