반응형
두개의 부동 소수점 수가 근사적으로 같은 값이면 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 |