c언어 공부하는데 잘안되네요. 점수를 A~F 학점으로 부등호문제.

조회수 642회
#include<stdio.h>
int main()
{
    int score;
    scanf("%d",&score);
    if(100>=score>89)
        printf("A");
    else if(89>=score>=80)
        printf("B");
    else if(79>=score>=70)
        printf("C");
    else if(69>=score>=60)
        printf("D");
    else if(60>score)
        printf("F");
}

하고

#include<stdio.h>
int main()
{
    int score;
    scanf("%d",&score);
    if(90<=score<=100)
        printf("A");
    else if(80<=score<=89)
        printf("B");
    else if(70<=score<=79)
        printf("C");
    else if(60<=score<=69)
        printf("D");
    else if(score<60)
        printf("F");
}

차이는 부등호 밖에 없는데 왜 실행이 안되나요 무조건 작은수 <x<큰수 이렇게 해야하나요??

1 답변

  • C언어에서는 if(100>=score>89) 이렇게 쓰면 안되고, if(100>=score && score>89)게 써야 합니다.

    &&는 논리앤드 연산자인데 왼쪽것도 참이고 오른쪽 것도 참일때 전체가 참이됩니다.

    처음부터 잘하는 사람 절대 없어요. 계속 힘내시고 행운을 빌어요.

    #include<stdio.h>
    int main()
    {
        int score;
        scanf("%d",&score);
        if(100>=score && score>89)
            printf("A");
        else if(89>=score && score>=80)
            printf("B");
        else if(79>=score && score>=70)
            printf("C");
        else if(69>=score && score>=60)
            printf("D");
        else if(60>score)
            printf("F");
    }
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)