본문 바로가기
솔루션모음/쉽게 풀어 쓴 C언어 Express 실습문제

[쉽게 풀어 쓴 C언어 Express] 8장 프로그래밍 programming 솔루션 답지

by 이얏호이야호 2020. 4. 9.

쉽게 풀어 쓴 C언어 express 솔루션입니다.
파일을 따로 준비해놨으니 필요하시다면 다운받아서 사용해주세요^^

1.

#include <stdio.h>

int even(int n);

int absolute(int n);

int sign(int n);

int main(void) {

 int n;

 printf("정수를 입력하시오:");

 scanf("%d", &n);

 printf("even()의 결과: ");

 if( even(n) == 1 )

 printf("짝수\n"); else

 printf("홀수\n");

 printf("absolute()의 결과: %d\n", absolute(n));

 printf("sign()의 결과: ");

 if( sign(n) == 1 )

 printf("양수\n"); else 

 printf("음수\n");

 return 0;

}

int even(int n) {

 return (n%2==0)? 1: 0;

}

int absolute(int n) {

 return (n>0)? n: -n;

}

int sign(int n) {

 return (n>0)? 1: -1;

}

2.

#include <stdio.h>

double ftoc(double);

int main(void) {

 double f,c;

 printf("화씨온도를 입력하시오:");

 scanf("%lf", &f);

 c = ftoc(f);

 printf("섭씨온도는 %f입니다.\n", c);

 return 0;

}

double ftoc(double f) {

 return (5.0/9.0)*(f-32.0);

}

 

3.

#include <stdio.h>

double get_radius() {

 double r;

 printf("원의 반지름을 입력하시오:");

 scanf("%lf", &r);

 return r;

}

double cal_area(double r) {

 return 3.141592*r*r;

}

 

 

 

 

 

 

4.

int main(void) {

 double r, area;

 r = get_radius();

 area = cal_area(r);

 printf("원의 면적은 %f입니다\n", area);

 return 0;

}

#include <stdio.h>

int get_tax(int income);

int main(void) {

 int income;

 printf("소득을 입력하시오(만원):");

 scanf("%d", &income);

 printf("소득세는 %d입니다.\n", get_tax(income));

 return 0;

}

int get_tax(int income) {

 if( income > 1000 ) return (int) (income*0.1); else return (int) (income*0.08);

}

5. 

#include <stdio.h>

#include <math.h>

double sin_degree(double degree);

int main(void) {

 double degree;

 for (degree=0.0; degree <= 180.0; degree += 10.0)

 printf("sin(%f)의 값은 %f\n", degree, sin_degree(degree));

 return 0;

}

double sin_degree(double degree) {

 return sin( (3.141592*degree)/180.0);

}

6.

#include <stdio.h>

#include <stdlib.h>

int b_rand();

int main(void) {

 printf("%d\n", b_rand());

 printf("%d\n", b_rand());

 printf("%d\n", b_rand());

 printf("%d\n", b_rand());

 printf("%d\n", b_rand());

 return 0;

}

int b_rand() {

 return rand()%2;

}

 

 

7.

#include <stdio.h>

#include <stdlib.h>

int b_rand();

int main(void) {

 int answer, coin;

 char c;

 while(1) {

 printf("앞면 또는 뒷면(1 또는 0):");

 scanf("%d", &answer);

 coin = b_rand();

 if( coin == answer )

 printf("맞았습니다.\n"); else

 printf("틀렸습니다.\n");

 printf("계속하시겠습니까?(y 또는 n):");

 scanf(" %c", &c);

 if( c == 'n' )

 break;

 }

 return 0;

}

int b_rand() {

 return rand()%2;

}

 

 

8.

#include <stdio.h>

#include <stdlib.h>

double f_rand();

int main(void) {

 printf("%f\n", f_rand());

 printf("%f\n", f_rand());

 printf("%f\n", f_rand());

 printf("%f\n", f_rand());

 printf("%f\n", f_rand());

 return 0;

}

double f_rand() {

 return rand()/(double)RAND_MAX;

}

 

 

10.

#include <stdio.h>

int is_multiple(int n, int m);

int main(void) {

 int x, y;

 printf("첫번째 정수를 입력하시오:");

 scanf("%d", &x);

 printf("두번째 정수를 입력하시오:");

 scanf("%d", &y);

 if( is_multiple(x, y) == 1 )

 printf("%d는 %d의 배수입니다.\n", x, y); else

 printf("%d는 %d의 배수가 아닙니다.\n", x, y);

 return 0;

}

int is_multiple(int n, int m) {

 if( n%m==0) return 1; else return 0;

}

 

 

 

11.

#include <stdio.h>

#include <math.h>

double get_distance(double x1, double y1, double x2, double y2) {

 return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

}

int main(void) {

 double x1,y1, x2,y2;

 printf("첫번째 점의 좌표를 입력하시오:(x, y)");

 scanf("%lf %lf", &x1, &y1);

 printf("두번째 점의 좌표를 입력하시오:(x, y)");

 scanf("%lf %lf", &x2, &y2);

 printf("두점 사이의 거리는 %f입니다.", get_distance(x1, y1, x2, y2));

 return 0;

}

 

 

12.

#include <stdio.h>

int main(void) {

 int i, j;

 for (i=2; i<100 ; i++) {

 if( is_prime(i) == 1 )

 printf("%d\n", i);

 }

 return 0;

}

int is_prime(int x) {

 int i;

 for (i=2; i<x ; i++) {

 if( x%i == 0 ) return 0;

 }

 return 1;

}

 

 

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;

 // result = 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;

 }

}

 

 

 

 

 

 

 

 

더 많은  쉽게 풀어 쓴 C언어EXPRESS 이론 솔루션

 https://chuinggun.tistory.com/category/%EC%86%94%EB%A3%A8%EC%85%98%EB%AA%A8%EC%9D%8C/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%9D%B4%EB%A1%A0

더 많은 쉽게 풀어 쓴 C언어EXPRESS 프로그래밍 솔루션 : 

https://chuinggun.tistory.com/category/%EC%86%94%EB%A3%A8%EC%85%98%EB%AA%A8%EC%9D%8C/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%8B%A4%EC%8A%B5%EB%AC%B8%EC%A0%9C

댓글