아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
색다른도마뱀42
색다른도마뱀4220.10.09

c언어로 둘 다 거짓일 경우만 참 출력하기?

십 수분 째 '둘 다 거짓일 경우만 참 출력하기' 문제를 풀고 있는데 어떻게 해야하나요? scanf로 입력을 받고 printf까지 했는데 printf뒤에 어떤 코드를 넣어야 할 지 모르겠네요

55글자 더 채워주세요.
답변의 개수
5개의 답변이 있어요!
  • #include <stdio.h> int main() { int a; printf("숫자를 입력하세요:"); scanf("%d", &a); if (a != 0 && a != 10) { printf("0이 아니고 10이 아닌 숫자를 입력하였습니다."); } return 0; }

    둘 다 거짓일 경우만 참 출력하기가 이런 것인가요?


  • 둘 다 거짓인 경우만 참을 출력하려면 논리연산자를 통하여 참을 출력하면 될 것으로 보입니다.

    논리 연산자 중 &&은 입력된 두 개의 값이 참일 떄 참 반환 하고, ||은 입력된 두 개의 값 중 하나가 참이면 참을 반환

    !은 첫 입력된 값이 거짓이면 참을 반환하는 것으로 알고 있는데 이것을 이용하면 될 것으로 보입니다.

    간략하게 코드를 생각하자면

    우선 변수에 값을 입력받고 나서 그 값을 논리연산자를 통하여 비교하여 변수에 저장한 뒤 그 값을 출력하면 될 것으로 보입니다.


  • '둘 다 거짓일 경우만 참 출력하기' 문제#include <stdio.h> int main(){ int a , b; scanf("%d %d", &a , &b); printf("%d", (a==0) && (b==0)); return 0; }


  • #include <stdio.h> int main() { int num1,num2,result; scanf("%d %d", &num1, &num2); result = !(num1 || num2); printf("%d",result); return 0; }

    둘다 거짓(0)일 때만 참을 출력하는 문제입니다. 그럼 OR연산을 보면 됩니다. 둘다 거짓일때만 거짓(0)이며 나머지는 전부 참이됩니다.

    그럼 OR에 NOT 연산을 해주게 되면 우리가 원하는 답을 얻을 수 있습니다.

    result = !(num1 || num2);


  • if문은 구현하셨는지 모르겠지만,

    if (a == false && b == false){ printf("참입니다.\n"); }

    이런 식으로 출력해주시면 될듯합니다. 이 문제는 printf문이 포인트가 아니라 그냥 if문으로 두 변수가 거짓일 경우 참으로 출력됨을 확인 것이 목표인 문제이기 때문입니다.