반응형

두개의 부동 소수점 수가 근사적으로 같은 값이면 1를 반환하고 근사적으로 같지 않으면 0를 넘겨주는 함수 f_equal(a, b)을 작성하라. 근사적으로 같다고 하는 것은 다음의 부등식을 만족하는 경우라고 가정한다.

(|a-b|/min(|a|,|b|))<e

부동 소수점 수의 절대값을 구하는 함수와 두수 중에서 최소값을 찾는 함수는 스스로 제작하여 사용하라. e는 상수로서 0.000001로 정의된다.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
int f_equal(double a, double b);
const double e = 0.000001;
double min(double a, double b);
int main(void)
{
    double a, b;
    printf("실수를 입력하시오: ");
    scanf("%lf"&a);
    printf("실수를 입력하시오: ");
    scanf("%lf"&b);
    if(f_equal(a,b)==1)
        printf("두 개의 실수는 서로 같음\n");
    else if(f_equal(a,b)==0)
        printf("두 개의 실수는 서로 다름\n");
    return 0;
}
int f_equal(double a, double b)
{
double c, d;
{if(a-b>=0)
    c=a-b;
else
    c=-(a-b);}
d=c/min(a,b);
if(d<e)
    return 1;
else
    return 0;
}
double min(double a, double b)
{
if(a>=0)
    a=a;
else
    a=-a;
if(a>=0)
    b=b;
else
    b=-b;
if(a>=b)
    return a;
else
    return b;
}
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

연산 횟수를 세는 계산기  (0) 2016.08.03
메뉴 시스템 만들기  (0) 2016.07.29
반올림 함수  (0) 2016.07.29
윤년 계산하기  (0) 2016.07.28
오일러의 수e 구하기  (0) 2016.07.28

+ Recent posts