- ベストアンサー
Cプログラミング
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一応作ってみました。 ただし、このまま提出すれば、間違いなくばれます。 #include <stdio.h> #include <stdlib.h> #include <complex.h> int main(void) { double a, b, c; if (scanf("%lf%lf%lf", &a, &b, &c) < 3) { return EXIT_FAILURE; } else if (a == 0) { printf("x = %g\n", -c / b); } else { double complex x[2]; x[0] = (-b + csqrt(b*b - 4*a*c)) / (2*a); x[1] = (-b - csqrt(b*b - 4*a*c)) / (2*a); printf("x = %g", creal(x[0])); if (cimag(x[0])) printf("%+gi", cimag(x[0])); if (x[0] != x[1]) { printf(", %g", creal(x[1])); if (cimag(x[1])) printf("%+gi", cimag(x[1])); } } }
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
D<0 の場合の根号の中の処理ってことですね √(-n)=√n × i ですから D<0の時 fabs で絶対値にするぐらいのことでいいんじゃない
お礼
はい。分からないのはD<0の場合なんです。 fabsで絶対値ですか!経験不足で全く知らなくて… 回答ありがとうございます!
- Pesuko
- ベストアンサー率30% (2017/6702)
課題丸投げは禁止よ。
お礼
そうですね。 出来るところまでは自分でやったのですが… ここでは分からないところだけ聞こうと思います。 回答ありがとうございます。
関連するQ&A
- C言語プログラミングで困っています。助けて下さい。
C言語プログラミングで困っています。助けて下さい。 課題1-1: 実数 a と実数 b を入力すると、一次方程式ax + b = 0 の解を求めるプログラムを作る 課題1-2: 1-1 で作成したプログラムについて、さらにa として1が入力されたとき、方程式の表示 部分が1x + 3 = 0ではなくx + 3 = 0となるようにせよ 課題1-3: 1-2 で作成したプログラムについて、さらにb として0 や負の数が入力されたとき、方程式 の表示部分が2x = 0 や2x – 3 = 0となるようにせよ 課題1-4: 1-3 で作ったプログラムについて、さらにa の値として0が入力された場合、「解けません」 と表示するようにせよ 課題1-5: 係数 a, b, c を入力すると、 2次方程式ax2 + bx + c =0の解を表示するプログラムを作 れ ※ 1-2 ~ 1-4 のような機能を盛り込む ※ a が0の場合には、先に作った1次方程式のプログラムが動く という問題です。最終的にこれらを一つのプログラムにしてください。判別式や解の公式、ルート√などを使ってよろしくお願いします。C言語でお願いします
- ベストアンサー
- その他(プログラミング・開発)
- プログラミングの課題で困っています。助けて下さい。
プログラミングの課題で困っています。助けて下さい。 課題1-1: 実数 a と実数 b を入力すると、一次方程式ax + b = 0 の解を求めるプログラムを作る 課題1-2: 1-1 で作成したプログラムについて、さらにa として1が入力されたとき、方程式の表示部 分が1x + 3 = 0ではなくx + 3 = 0となるようにせよ 課題1-3: 1-2 で作成したプログラムについて、さらにb として0 や負の数が入力されたとき、方程式 の表示部分が2x = 0 や2x – 3 = 0となるようにせよ 課題1-4: 1-3 で作ったプログラムについて、さらにa の値として0が入力された場合、「解けません」 と表示するようにせよ 課題1-5: 係数 a, b, c を入力すると、 2次方程式ax2 + bx + c =0の解を表示するプログラムを作 れ ※ 1-2 ~ 1-4 のような機能を盛り込む ※ a が0の場合には、先に作った1次方程式のプログラムが動く という課題です。最終的にこれらを一つのプログラムにしてください。判別式や解の公式、ルート√などを使ってよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- C言語 プログラミング
C言語初心者です。 以下の点を踏まえて、 2次方程式ax^2+bx+c=0の解が実数であるかどうか判定するプログラムを教えてください!お願いいたします。 ・if文を組み合わせる ・判別式D=b^2-4acを使う ・係数abcは実数として入力する ・aが0の場合などすべての場合を網羅している 例 a=0,b=0,c=1の場合、解は存在しない
- 締切済み
- 情報工学
- 二次方程式の解について。
二次方程式が実数の範囲で解を持つか、または複素数の範囲で解を持つかは、二次方程式の解の公式の「判別式」で判断することができますよね。 そこで、この判別式を使って、二次方程式の解が実根になる確率と虚根になる確率と、どっちが大きいのか考えてみました。 まず、簡単にするために二次方程式 ax^2+bx+c=0 の両辺をaでわって、新しくできる係数をp,qとします。そうしてできた二次方程式の判別式は p^2-4q となりますよね。この判別式が0に等しいとして、この式を変形していきます… p^2-4q=0 4=p^2/q つまり数直線で考えると、p^2/qが丁度4になったとき二次方程式は一つの解しか持たないことになります(重根でしたか?)。同様に考えると(-∞,4)の範囲で二次方程式は虚根を、(4,∞)の範囲で二次方程式は実根をもつはずです。 そう考えると、虚根を持つ範囲の方が4つ分広いので確率が高いとおもったのですが、どうなるのでしょうか? それとも、私の考え方がどこか間違っていたのでしょうか?
- 締切済み
- 数学・算数
- 2次方程式の照明の問題で
『実数abc及び複素数αについて、αがxに関する2次方程式ax^2+bx+cの解であるならば、αの共役複素数も方程式ax^2+bx+cの解であることを照明しろ』 と言う問題なんですが、α+β=-b/aとαβ=c/aの公式を使ってやるのだと思ったのですが、どうしても上手く求めることができません。 どうやって照明したらいいか、ヒントをいただけるとありがたいです。
- ベストアンサー
- 数学・算数
- ax^2+bx+c=0の求解プロセスをDFDで表したいのですが・・・
ax^2+bx+c=0の求解プロセスをDFDで表したいのですが、aが0か、判別式が正か負か0かなどによって、その後の処理が変わってきますよね? DFDの場合、そのような分岐はどう書けばよいのでしょうか?
- 締切済み
- その他(プログラミング・開発)
- a、b、c、dは実数の定数である
方程式x^4+ax^2+bx^2+cx+d=0は4つの虚数解を持つ その解の内、ある2つの和は19+2iであり、他の2つの積は4+5iである このときa、b、c、dの値を求めよ 解の2つをα、βとするとそれらの共役複素数も解なのはわかりましたがそこからを教えてください
- 締切済み
- 数学・算数
お礼
参考プログラムを作っていただいてありがとうございます! これを参考に頑張ってみたいと思います! 回答ありがとうございました。