以下のプログラムをコンパイルしようとすると
undefined reference to 'sqrt'
といわれてしまいます。どのように修正したらいいでしょうか。教えていただきたいですm(_ _)m
該当のソースコード
#include<stdio.h> #include<math.h> typedef struct complex_number{ double x, y; } cmplx; int solve(float,float,struct complex_number*,struct complex_number*); int main(void){ float a,b; cmplx p,q; int number; printf("a="); scanf("%f",&a); printf("b="); scanf("%f",&b); printf("a=%f,b=%f\n",a,b); number=solve(a,b,&p,&q); if(number==0){ printf("answer : 虚数解です\n"); printf("p=%f %+fi,Q=%f %+fi\n",p.x,p.y,q.x,q.y); } else if(number==1){ printf("answe : 実数解です\n"); printf("p=Q=%f\n",p.x); } else if(number==2){ printf("p=%f,q=%f\n",p.x,q.x); return 0; } int solve(float a, float b,cmplx *p,cmplx *q){ int number; double dist; dist=a*a-4*b; if(dist>0.0){ number=2; }else if(dist==0.0){ number=1; }else { number=0; } p->x=q->x=-(a/2); p->y=q->y=0; switch(number){ case 0: p->y=+sqrt(-dist)/2; q->y=-sqrt(-dist)/2; case 1: break; case 2: p->x+=sqrt(dist)/2; q->x-=sqrt(dist)/2; } return number; } }
いいかげんなタグ付けは迷惑なんで修正しよう。
回答2件
あなたの回答
tips
プレビュー