쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 8-3
13.
#include <stdio.h>
#include <math.h>
long long factorial(int n) {
int i;
long long result = 1;
for (i = 1; i <= n; i++)
result *= i;
return result;
}
int main(void) {
int i;
double sum = 1.0;
int n;
printf("어디까지 계산할까요: ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
sum += 1.0 / factorial(i);
printf("오일러의 수는 %f입니다. \n", sum);
return 0;
}
14.
#include <stdio.h>
int is_leap(int y);
int main(void) {
int year;
printf("연도를 입력하시오: ");
scanf("%d", &year);
if (is_leap(year) == 1)
printf("%d년은 366일입니다.\n", year);
else
printf("%d년은 365일입니다.\n", year);
return 0;
}
int is_leap(int y) {
return (y % 4 == 0) && (y % 100 != 0) || (y % 400);
}
15.
#include <stdio.h>
int round(double a);
int main(void) {
double a;
printf("실수를 입력하시오: ");
scanf("%lf", &a);
printf("반올림한 값은 %d입니다.\n", round(a));
return 0;
}
int round(double a) {
return (int)(a + 0.5);
}
16.
#include <stdio.h>
#include <math.h>
int f_equal(double x, double y);
int main(void) {
double a, b;
printf("실수를 입력하시오: ");
scanf("%lf", &a);
printf("실수를 입력하시오: ");
scanf("%lf", &b);
if (f_equal(a, b) == 1)
printf("같음\n");
else
printf("다름\n");
return 0;
}
double f_abs(double x) {
if (x > 0)
return x;
else
return -x;
}
double f_min(double x, double y) {
if (x > y)
return y;
else
return x;
}
int f_equal(double x, double y) {
double value;
value = f_abs(x - y) / f_min(f_abs(x), f_abs(y));
if (value < 0.000001)
return 1;
else
return 0;
}
17.
#include <stdio.h>
#include <stdlib.h>
void print_menu();
void check_menu_number();
void menu_hamberger();
void menu_cheeseberger();
void menu_sandwitch();
int main(void) {
check_menu_number();
return 0;
}
void menu_hamberger() {
printf("햄버거 메뉴 호출\n");
}
void menu_cheeseberger() {
printf("치즈버거 메뉴 호출\n");
}
void menu_sandwitch() {
printf("샌드위치 메뉴 호출\n");
}
void print_menu() {
printf("1. 햄버거\n");
printf("2. 치즈버거\n");
printf("3. 샌드위치\n");
printf("4. 종료\n");
printf("원하는 메뉴를 선택하시오:");
}
void check_menu_number() {
int value;
while (1) {
print_menu();
scanf("%d", &value);
if (value < 1 || value > 4)
continue;
else if (value == 1)
menu_hamberger();
else if (value == 2)
menu_cheeseberger();
else if (value == 3)
menu_sandwitch();
else if (value == 4)
return;
}
}
댓글
댓글 쓰기