목적
- 수학함수를 이용할줄 안다.
문제
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
float faIn[3] = {0};
float fTotal = 0.0;
int i = 0;
cout << "실수값 세 개를 입력하세요 : ";
cin >> faIn[0] >> faIn[1] >> faIn[2];
while(i<3)
{
cout << "│" << faIn[i] << "│ 의 제곱근 : " << sqrt(faIn[i] >= 0 ? faIn[i] : -1 * faIn[i] )<< endl;
fTotal += sqrt(faIn[i] >= 0 ? faIn[i] : -1 * faIn[i] );
i++;
}
cout << endl << "제곱근들의 합 : " << fTotal << endl;
return 0;
}
해설
- 절대값을 단순하게 조건문으로 구현했습니다.
if(faIn[i] >=)
{ faIn[i] = faIn[i]; }
else { faIn[i] = - faIn[i]; }
{ faIn[i] = faIn[i]; }
else { faIn[i] = - faIn[i]; }
- 이 방식 말고 정수형은 abs(faIn[i]) 실수는 fabs(faIn[i])) 쓰면 됩니다. 정수형 abs 함수를 실수 인수에다 넣으면 소숫점이 잘려 나가므로 엉뚱한 결과가 나옵니다.
- '│' 문자는 'ㅂ' 을 치고 난뒤에 바로 한자를 누르면 선택 창이 나옵니다.
참고
- math.h / cmath 함수를 쓴 문제