Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

이차 방정식의 근을 찾기 위해 C 프로그램을 작성하는 방법은 무엇입니까?

<시간/>

문제

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이면 인쇄 루트는 허수입니다.
  • 중지

이차 방정식의 근을 찾기 위해 C 프로그램을 작성하는 방법은 무엇입니까?

구현 코드

# 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