ここに質問の内容を詳しく書いてください。 C言語で、以下のようなプログラムを書いています。 z=R1+xまでで、zの値を複数通り出しました。ここから、入力した値と一致しているzのみを抜き出して、その時のR1,R2,R3と一緒に表示させたいのですが、以下のような文章だとfor文で出た全ての結果に対してif,elseが実行されてしまいます。一致している値が1つでもあった場合は、 「指定された抵抗値○となるR1,R2,R3の組み合わせは、○、△、□です。」 と表示させて(複数あったら複数表示させる)、一致している値が1つもなかった場合は、 「指定された抵抗値○となるR1,R2,R3の組み合わせはありません。」 と表示させたいです。 初歩的な質問で申し訳ありませんが、ヒントだけでも教えていただきたいです。 ### 発生している問題・エラーメッセージ #include <stdio.h> int main(void) { long double a; puts("指定する合成抵抗値を入力してください。(整数で)"); printf("指定する抵抗値:"); scanf("%Lf",&a); long double R1,R2,R3,v,w,x; long double z; int i1,i2,i3; long R[30]={10,100,1000,10000,100000,15,150,1500,15000,150000,22,220,2200,22000,220000,33,330,3300,33000,330000,47,470,4700,47000,470000,68,680,6800,68000,680000}; for(i1=0;i1<30;i1++) for(i2=0;i2<30;i2++) for(i3=0;i3<30;i3++) { R1=R[i1]; R2=R[i2]; R3=R[i3]; v=R2+R3; w=R3*R2; x=w/v; z=R1+x; if(a==z) printf("指定された抵抗値%LfΩとなるR1,R2,R3の組み合わせは、\n R1=%LfΩ、R2=%LfΩ,R3=%LfΩ\n",a,R1,R2,R3); else printf("指定された抵抗値%LfΩとなるR1,R2,R3の組み合わせはありません。\n",a); } return 0; }
試したこと
if, else,break,contnueなど知っている文は色々試しましたが、どれもうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
C言語です。Xcodeでこのプログラムを書いています。よろしくお願いします。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答5件
あなたの回答
tips
プレビュー