前提・実現したいこと
VineLinuxでLeafpadを用いてプログラムを書いています。
その内容は、一次方程式の文字にそれぞれ数字を代入し未知数xの値を表示させるというものです。
ただし、a,bに虚数や無理数は入れないこととします。
書いたプログラムは以下です。
#include <stdio.h> int main(void) { int a,b; printf("一次方程式 ax + b = 0\n"); printf("a,bを入力してください。\n"); printf("a="); if(a%1==0) { scanf("%d",&a); } else { scanf("%f",&a); } printf("b="); if(b%1==0) { scanf("%d",&b); } else { scanf("%f",&b); } if(a==0) { printf("解なし。\n"); } else if(b%a==0) { printf("x=%d\n",-b/a); } else if(b%a!=0) { prinf("x=%f\n",(double)-b/a); } return 0; } ``` 』 ### 発生している問題・エラーメッセージ
この計算をさせると、解が出るときに限定して言えば、 -b/a という計算が出てきます。
a,bそれぞれに整数を入れて解が小数になるときに関しては克服できたのですが、a,bの少なくとも一方に小数が入った時に正しい計算結果が出ません。
どこをどう変えればよいでしょうか。
### 該当のソースコード ```ここに言語名を入力 ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/17 04:39