- ベストアンサー
3つの整数の判定プログラムを作成する
- プログラムを作成して3つの整数を判定する方法は?
- プログラム修正リクエスト:3つの整数の判定プログラムを修正したい
- 3つの整数の判定プログラムを作成する際の注意点
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
これでどうでしょう? ---------------------------- if(a==b){ // aとbが等しい if(b==c){ // aとbとcが等しい printf("全部同じ\n"); }else{ // aとbが等しいがcは等しくない printf("2つ同じ\n"); } } else { // aとbが等しくない if (b==c){ // bとcが等しいがcは等しくない printf("2つ同じ\n"); }else{ if (a==c){ // aとcが等しいがbは等しくない printf("2つ同じ\n"); }else{ // 全部等しくない。 printf("バラバラ\n"); } } } -------------------------- ※このコードはインデントのかわりに全角SPが入ってるのでコピペだとエラーになります。 以前の質問も入れてアドバイスしますと、 仕様に対する処理の論理立ての段階が苦手なようですね。 仕様を満たすには処理と条件を順序立てて考える必要があります。 ロジカル的な考えに慣れるまでフローチャートを書く癖をつけたほうがいいですね。 あと、キーボード、マウスなどのインプットデバイスからPCへ送られる情報は「入力」です。 ディスプレイ、プリンタなどのアウトプットデバイスにPCから送られた情報を表示するのが「出力」です。
その他の回答 (3)
http://www.okweb.ne.jp/kotaeru.php3?q=716162 ↑こっちは出来ました? (入力部分は省略) const char *msg[] = { "バラバラ", "2つ同じ", "", "全部同じ" }; puts(msg[(a==b) + (b==c) + (c==a)]); # こんなの出したら先生なんて言うやろ。
- asdfldfnjsvfs
- ベストアンサー率42% (75/178)
絵で説明しますね。 パターンは 12345678 A ×○××○○×○ B ××○×○×○○ C ×××○×○○○ の8通りあります。 No.1さんもおっしゃっているように、 if(a==b) のパターンは上の図の5、8です。 しかし、その中のif文では、8のパターンの処理しかしていません。 その辺りが不具合の原因です。
- osiato
- ベストアンサー率33% (10/30)
明らかにhttp://oshiete1.goo.ne.jp/kotaeru.php3?q=715805と同じ質問ですよね。 ちょっと気になりましたが、お困りのようなので。。。 私があなたのプログラムを実行したらvoid main(void)でエラーが出たので、最初のvoidをintし、retrun 0をつけました。 scanfは$ではなく&では?? if(a==b)のときif(b==c)とif(b!=c)を考えましょう。 if(a!=b)のときif(a==c)とif(b==c)とif(a!=c)を考えましょう。 if(b==c)のときif(a!=c)を考えましょう。 ほとんど答えなようなものですので、後は自分で考えてください。 これでもわからなければ1つずつifを紙に書き出して考えてください。
お礼
書き込みありがとうございました。 http://www.okweb.ne.jp/kotaeru.php3?q=716162 はまだ困っています。助けてください。