二次方程式の解を求める 
/*kadai11.c*/
#include<stdio.h>
#include<math.h>

main()
{
double a,b,c,d,e,x,x1,x1i,x2,x2i;
printf("二次方程式ax*x+bx+c=0の係数a,b,cを入力してください。\n");
printf("ただし、a≠0とします。\n");
printf("a= ");
scanf("%lf",&a);
printf("b= ");
scanf("%lf",&b);
printf("c= ");
scanf("%lf",&c);
d=b*b-4*a*c;
printf("判別式b*b-4*a*c=%lf\n",d);

if(d>0)
{printf("判別式b*b-4*a*c>0の時、二次方程式は二つの異なる実数解をもち、\n");
e=sqrt(d);
x1=(-b+e)/(2*a);
x2=(-b-e)/(2*a);
printf("一つ目の解\n");
printf("x1=%lf\n",x1);
printf("二つ目の解\n");
printf("x2=%lf\n",x2);
printf("である。\n");
}

else if(d==0)
{printf("判別式b*b-4*a*c=0の時、二次方程式は重解をもち、\n");
x=-b/(2*a);
printf("重解\n");
printf("x=%lf\n",x);
printf("である。");
}

else
{printf("判別式b*b-4*a*c<0の時、二次方程式は二つの異なる虚数解をもち、\n");
e=sqrt(-d);
x1=(-b)/(2*a);
x1i=e/(2*a);
x2=(-b)/(2*a);
x2i=(-e)/(2*a);

printf("一つ目の解x1\n");
printf("実部=%lf,%c\n",x1);
printf("虚部=%lf,%c\n",x1i);

printf("二つ目の解x2\n");
printf("実部=%lf,%c\n",x2);
printf("虚部=%lf,%c\n",x2i);
printf("である。\n");
}
}
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送