문제
C 언어의 모든 문제를 해결하기 위해 소프트웨어 개발 방법을 적용
해결책
- 이차 방정식 ax2+bx+c의 근을 찾습니다.
- 주어진 이차 방정식의 근은 2개입니다.
분석
입력 - a,b,c 값
출력 - r1, r2 값
절차
$r_{1}=\frac{-b+\sqrt{b^2-4ac}}{2a}$
$r_{2}=\frac{-b-\sqrt{b^2-4ac}}{2a}$
설계(알고리즘)
- 시작
- , b, c 값 읽기
- 계산 d =b2 4ac
- d> 0이면
- r1 =b+ 제곱(d)/(2*a)
- r2 =b 제곱(d)/(2*a)
- 그렇지 않으면 d =0이면
- r1 =-b/2a, r2=-b/2a 계산
- r1,r2 값 인쇄
- 그렇지 않고 d <0이면 인쇄 루트는 허수입니다.
- 중지
구현 코드
# include<stdio.h> # include<conio.h> # include<math.h> main (){ float a,b,c,r1,r2,d; printf (“enter the values of a b c”); scanf (“ %f %f %f”, &a, &b, &c); d= b*b – 4*a*c; if (d>0){ r1 = -b+sqrt (d) / (2*a); r2 = -b-sqrt (d) / (2*a); printf (“The real roots = %f %f”, r1, r2); } else if (d= =0){ r1 = -b/(2*a); r2 = -b/(2*a); printf (“roots are equal =%f %f”, r1, r2); } else printf(“Roots are imaginary”); getch (); }
테스트
Case 1: enter the values of a b c: 1 4 3 r1 = -1 r2 = -3 Case 2: enter the values of a b c: 1 2 1 r1 = -1 r2 = -1 Case 3: enter the values of a b c: 1 1 4 Roots are imaginary