###前提・実現したいこと
Atomでコンパイルし,コマンドプロンプトで実行しています.
2次方程式の解の個数の表示と解が1つの時に,その解を入力させて,
それが正しいかどうかを表示するコードを書きたいです.
###発生している問題・エラーメッセージ
d=0の時の解を入力させて,正しいかどうかを表示するコードを加えたくて,//や/*の部分を 書いて実行したところ,d=0となるa,b,cを入力したにも関わらず(a=1,b=-4,c=4),zeroと表示されました. (本当はoneと表示されるはず!)なにより不思議なのが,//や/*の部分を加えずに,単純に解の個数だけを表示させるコードの時は 先ほどのa,b,cを入力するとoneと表示されることです.
###該当のソースコード
#include <stdio.h> int main(){ double a, b, c, d; double ans; printf("input real number a,b,c\n"); printf("a:"); scanf("%f", &a); printf("b:"); scanf("%f", &b); printf("c:"); scanf("%f", &c); d=(b*b)-(4*a*c); if(d>0){ printf("two \n"); }else if(d==0){ printf("one\n"); //以下の非表示部分を表示するとoneであってもzeroになる /*printf("input answer:"); scanf("%f", ans); if(ans==-b/2*a){ printf("Solved\n"); }else{ printf("Try again\n"); }*/ }else if(d<0){ printf("zero\n"); } return 0; }
###試したこと
if else文の中にif elseを書いたのがまずいのかなと思い,//や/*のうち,上2行のprintfと
scanfの文だけを打って実行しましたが,やはりoneと表示されるa,b,cを打ったにも関わらず
zeroと表示されました.
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/10/18 21:30