본문 바로가기
Solution_/C언어 콘서트

[c언어 콘서트] 9장 3번 (두개의 근 출력)

by 낭람_ 2018. 9. 30.
반응형

[9장 3번]


2차 방정식의 근을 계산하는 함수를 작성하고 이 함수를 호출하여서 2차 방정식의 근을 출력하는 프로그램을 작성해보자. 매개 변수로 포인터를 사용하면 함수가 2개 이상의 값을 반환할 수 있다. 다음과 같이 두개의 근을 모두 포인터를 이용하여서 반환하도록 한다.



void quadratic(int a, int b, int c, double* xplus, double* xminus) {
*xminus = (-b - sqrt(b*b - 4 * a*c)) / (2 * a);
*xplus = (-b + sqrt(b*b - 4 * a*c)) / (2 * a);
}




[풀이]

#include<stdio.h>
#include<math.h>

void quadratic(int, int, int, double*, double*);

int main()
{
int a = 1, b = 4, c = 3;
double xplus, xminus;
quadratic(a, b, c, &xplus, &xminus);
printf("첫번째 실근: %lf\n", xplus);
printf("두번째 실근: %lf\n", xminus);

return 0;
}

void quadratic(int a, int b, int c, double* xplus, double* xminus) {
*xminus = (-b - sqrt(b*b - 4 * a*c)) / (2 * a);
*xplus = (-b + sqrt(b*b - 4 * a*c)) / (2 * a);
}


반응형

댓글