출처 : 반크_세계무형유산 아리랑, 판소리
참고풀이]
//Dev-C++ 5.11로 작업함.
#include <stdio.h>
#include <stdlib.h> //system()
#include <math.h> //sqrt()
void quadratic(int a, int b, int c, double *xplus, double *xminus)
{
*xminus=(-(double)b-sqrt((double)(b*b)-(double)(4*a*c)))/(double)(2*a);
*xplus=(-(double)b+sqrt((double)(b*b)-(double)(4*a*c)))/(double)(2*a);
}
void equal(int a, int b, int c, double *xequal)
{
*xequal=(double)b/(-2*(double)a);
}
int main()
{
double x,y;
int ma, mb, mc;
printf("2차 방정식의 계수를 입력하시오:\n");
printf("a : "); scanf("%d%*c",&ma);//%*c:enter key
printf("b : "); scanf("%d%*c",&mb);
printf("c : "); scanf("%d%*c",&mc);
system("cls");
if(mb*mb-4*ma*mc>0) //서로 다른 두 실근이 존재
{
quadratic(ma, mb, mc, &x, &y);
printf("\n2차 방정식의 근은 두 개가 존재합니다.\n");
printf("첫번째 실근 : %lf\n", x);
printf("두번째 실근 : %lf\n", y);
}
else if(mb*mb-4*ma*mc==0) //같은 실근 1개 존재(중근)
{
equal(ma, mb, mc, &x);
printf("\n2차 방정식의 근은 한 개가 존재합니다.\n");
printf("중 근=%lf\n",x);
}
else //실근이 존재하지 않는다(허근)
printf("\n2차 방정식의 근이 없습니다.\n");
return 0;
}
참고풀이 결과]
참고비교]
C언어 64제] CHAPTER 8 연습문제 8과 비교하여 보세요.
대한민국의 아름다운 영토, 독도의 봄
'프로그램 > C언어 1000제' 카테고리의 다른 글
C언어 75제] C언어 콘서트 CHAPTER 9 Programming 5 간단한 영상처리 프로그램 p371 (0) | 2021.12.27 |
---|---|
C언어 74제] C언어 콘서트 CHAPTER 9 Programming 4 실수 3.14를 정수부와 실수부로 나누기 p371 (0) | 2021.12.23 |
C언어 72제] C언어 콘서트 CHAPTER 9 Programming 2 역순으로 출력하기 p370 (0) | 2021.12.23 |
C언어 71제] C언어 콘서트 CHAPTER 9 Programming 1 배열 요소들의 합을 포인터 사용하여 구하기 p370 (0) | 2021.12.22 |
C언어 70제] C언어 콘서트 CHAPTER 8 Programming 14 순환호출(3승의 합) p340 (0) | 2021.12.21 |
댓글