100題[基礎-論理演算]1053~1058
4156 ワード
反対の出力プログラムを作成してみます.
#include <stdio.h>
main()
{
int bool;
scanf("%d",&bool);
printf("%d",!bool);
return 0;
}
!No、0は1、1は0すべての参照が真である場合にのみ参照を出力するプログラムを作成します.
#include <stdio.h>
main()
{
int x,y;
scanf("%d %d",&x,&y);
if(x==1 && y==1)
printf("%d",1);
else
printf("0");
return 0;
}
if文と(and)を使用する場合(x=1,y=1)と錯覚しやすい(実際に勉強を始めたばかりの頃はこのように書くのが間違っていた)、必ず&&を使って書きます.
andは両方とも本物であることを意味する.
もし本当なら、本当のプログラムを作成しましょう.
#include <stdio.h>
main()
{
int x,y;
scanf("%d %d",&x,&y);
if(x==1 || y==1)
printf("1");
else
printf("0");
return 0;
}
文でまたは(または)を使用する場合は、|(スラッシュ2)を使用します.二つのうちの一つが本物であることを意味する.
真/偽が同時に真を出力するプログラムを作成しましょう.
#include <stdio.h>
main()
{
int x,y;
scanf("%d %d",&x,&y);
if(x!=y)
printf("1");
else
printf("0");
return 0;
}
私はこのように解いたのですが、この問題のポイントはXORを使うことです.XORの意味はorですが、同じではありません.
つまり、二つが違うのが本当だということです.
#include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", a^b);
return 0;
}
このように解くのはもっと正しい答えに近い.演算記号^
真/偽が等しい場合にのみ真を計算するプログラムを作成します.
#include <stdio.h>
main()
{
int x,y;
scanf("%d %d",&x,&y);
if(x==y)
printf("1");
else
printf("0");
return 0;
}
これは答えは正しいが、問題の意図とは少し違うようだ.#include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", !(a^b));
return 0;
}
XORのnotをして、2つとも同じで本当です.andとは違います.二人とも我慢するのは我慢ですが.
!XORは本物か偽物か、二つとも本物だ.
すべてが偽物である場合にのみ真の値を計算するプログラムを作成しましょう.
#include <stdio.h>
main()
{
int x,y;
scanf("%d %d",&x,&y);
if(x==0 && y==0)
printf("1");
else
printf("0");
return 0;
}
私の答え#include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", !(a||b));
return 0;
}
問題の意図実はnot XORかnot ORで良いのですが、別の方法でも十分に表現できるのではないでしょうか.
今日のcodeup C言語の基礎100題は全部終わりました.次はGredyアルゴリズムをネットで勉強します.コードが完成しても、復習のレベルにアップします.あきらめないで、たゆまず向上しなければならない.
2021.6.8
Reference
この問題について(100題[基礎-論理演算]1053~1058), 我々は、より多くの情報をここで見つけました https://velog.io/@jychan99/CodeUp-C언어-기초-100제-기초-논리연산-10531058テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol