if(a!=0){
if(Discriminant(a,b,c)>=0)
printf("The roots are %.3f, %.3f\n",(-b+sqrt((double)(b*b-4*a*c)))/2*a,(-b-sqrt((double)(b*b-4*a*c)))/2*a);
else
printf("The roots are %.3f+%.3fi,%.3f-%.3fi\n",-b/2*a,sqrt((double)((-b*b+4*a*c)))/2*a,-b/2*a,sqrt((double)((-b*b+4*a*c)))/2*a);
}
일단 문제점이 이부분이라 이부분만 짤라서 가져왔습니다...
ax^2+bx+c의 a b c를 입력해서 근을 구하는 식인데
a가 1일때는 모든 프로그램이 아무 이상이 없이 잘 돌아갑니다..
그러나 1 -4 4를 넣으면 근이 2라고 잘 뱉어준 식이 2 -8 8을 넣으면 근을 8이라고 뱉네요
마치 a하고 c를 곱한거마냥 이렇게 나오는데 어디가 오류이며 어떤식으로 수정해야할까요...?아직 배열까지 밖에 안배워서 쉽게 설명해주셨으면 감사 하겠습니다 ㅠㅠ
자비로우시고 관대하고 능력있는 프갤 분들의 도움의 손길을 기다립니다 ㅠ