본문 바로가기

IT STUDY/Language

[C 기초] 근의 공식을 이용한 이차방정식 구하기

반응형

 

 근을 공식을 이용한 이차방정식으로

두실근, 중근, 허근을 구해봅시다! (기초적으로 구현 해보았어요)

 

 

 

 

 

 

 

 

들어가기에 앞서... Tip


 

 

1. 사용되는 헤더 파일

헤더

설명

함수

studio.h

표준 입출력 라이브러리 함수 정의

printf, scanf, fopen,getc 등

stdlib.h

정수형의 범위를 나타내는 상수들을 정의

int atol, rand, malloc 등

 

 

 

 

근의 공식을 이용한 이차방적식 풀기


/*********************************************
 이차 방정식의 근의 공식을 이용하여 해를 구하는 것 
**********************************************/

#include <stdio.h>
#include <stdlib.h>

main ()
{
   double a,b,c; //계수
   double D;  //판별식
   double x1,x2;  //근
   
   /************* 밑 두실근, 중근, 허근 중 선택하세요  **************/
   //a=1;b=1;c=-2; //두실근
   a=1;b=2;c=1; //중근
   //a=1;b=1;c=1; //허근       
   //scanf("%lf %lf %lf",&a,&b,&c);
   /***************************************************************/


   D= b * b - 4 * a * c; //판별식 구하는 공식

	if(D>0) //판별식이 0보다 크다면 서로 다른 두 실근
	{
	     x1= -b + sqrt(D) / (2 * a);
	     x2= -b + sqrt(D) / (2 * a);
	     printf("근= %lf %lf \n",x1,x2);     
   	}
	else if(D==0) //중근
	{
	     x1=-b / (2*a);
	     printf("중근= %lf \n",x1);
	}
	else //허근
	{
	     D= sqrt(-D); //sqrt는 입력이 0보다 크거나 같아야 된다.
	     x1=-b/(2*a);
	     x2=D/(2*a);
	     printf("허근= %lf+%lf === (%lf)(-%lf)\n",x1,x2,x1,x2);

	}
  
	return EXIT_SUCCESS;
 }


 

 

 

 

 

 

 

[실행 결과]

 

 

 

 

 

 

반응형