###前提・実現したいこと
二次方程式の解を求めるプログラムを作成中です。
コンパイルは下記のプログラムでエラーなかったのですが実行すると
xの値がinfになったりnanになったりします。
ただしく数値が表示される方法を質問したいです。
###発生している問題・エラーメッセージ
コンパイルは成功したのに、正常な結果が出力されない。
エラーメッセージ
x=-inf,-nan
###該当のソースコード
#include<stdio.h>
#include<math.h>
int main(void)
{
float a,b,c,dis,x1,x2,real,imag;
printf("二次方程式の定数を入力してください。\n"); printf("a = :"); scanf("%f",&a); printf("b = :"); scanf("%f",&b); printf("c = :"); scanf("%f",&c); dis = b*b-4*a*c; if(a=0){ x1 = -c/b; printf("x = %f",x1); } else{ if(dis > 0){ x1 = (-b+sqrt(dis)) / (2*a); x2 = (-b-sqrt(dis)) / (2*a); printf("二次方程式の解: x = %.2f , %.2f\n",x1,x2); } else if(dis == 0){ x1 = x2 = -b / (2*a); printf("二次方程式の解: x = %.2f",x1); } else{ real = -b / (2*a); imag = sqrt(-dis) / (2*a); printf("二次方程式の解: x = %.2f + %.2f i , %.2f ー %.2f i",real,imag,real,imag); } }
return 0;
}
###試したこと
課題に対してアプローチしたことを記載してください
思いつくことすべて
###補足情報(言語/FW/ツール等のバージョンなど)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。