- ベストアンサー
C言語初心者必見!論理OR演算子の使い方とは?
- C言語初心者でもわかる!論理OR演算子を使って二つの整数値の差を判定しよう。
- プログラムを作成すれば、差が10以下か11以上かを簡単に判定できます。
- この記事では、論理OR演算子の基本的な使い方から具体的なプログラム例まで詳しく解説します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
#include <stdio.h> #include <stdlib.h> #include <stdio.h> int main(void) { int n1,n2; int d ; printf("2つの整数を入力してください\n"); printf("整数1:"); scanf("%d",&n1); printf("整数2:"); scanf("%d",&n2); ((d = n1 - n2) > 0) || ( d = n2- n1 ) ; if( d <= 10 ) { printf("それらの差は10以下です。\n"); } else { printf("それらの差は11以上です。\n"); } } 解説はしません。 この問題でやりたいことは ・「差が10以下」と「それ以外」を判定するには、どうしたらいいのか? ・それを || を使う式で表現するにはどうしたらいいのか? の2点を理解できてるかどうか、だと思います。 まず、「ORを使う」ということを意識せず、仕様通りに動作するプログラムを作れるようになりましょう。
その他の回答 (6)
- Tasuke22
- ベストアンサー率33% (1799/5383)
もう答えは出ていますが…問題そのものがおかしくないですか? > 値の差が10以下でなければ、「それらの差は10以下」 こういう逆のことが書かれていると、つい口出ししたくなります。
- Hayashi_Trek
- ベストアンサー率44% (366/818)
>それらの値の差が10以下でなければ、 この表現がヒントになる。 if ((n1-n2>10) || (n2-n1>10)) { } else { }
- wormhole
- ベストアンサー率28% (1626/5665)
差を求めるのに n1-n2 n2-n1 の2つのパターンがあるのはわかりますか?
- nanaka2223
- ベストアンサー率50% (2/4)
あ if ( (n1-n2) <= 10 || (n1-n2) >= 11) { を if ( ( (n1-n2) <= 10 )|| ( (n1-n2) >= 11 ) ) { に変更で上のほうだと変に動作してしまうかも
- nanaka2223
- ベストアンサー率50% (2/4)
え、無理に論理OR演算子使わなきゃダメなの? もしつかうことになるなら //ここがわからないの部分だけ修正 if ( (n1-n2) <= 10 || (n1-n2) >= 11) { if( (n1-n2) <= 10 ){ printf("それらの差は10以下です。"); } if( (n1-n2) >= 11 ){ printf("それらの差は11以上です。"); } } 論理OR演算子 は || で a || b とかかれてたらaもしくはbならの判定に使うものかな
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> それらの値の差が10以下 とは 「n1 - n2 <= 10 'または' n2 - n1 <= 10」 です。