반응형
[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);
}
반응형
'Solution_ > C언어 콘서트' 카테고리의 다른 글
[c언어 콘서트] 10장 1번 (암호 생성) (5) | 2018.10.11 |
---|---|
[c언어 콘서트] 9장 4번 (정수와 소수 출력) (0) | 2018.09.30 |
[c언어 콘서트] 9장 2번 (역순 출력) (0) | 2018.09.30 |
[c언어 콘서트] 9장 1번 (배열 요소들의 합) (0) | 2018.09.14 |
[c언어 콘서트] 8장 13번 (n의 3승 더하기) (0) | 2018.09.12 |
댓글