본문 바로가기

C언어

C언어 튜터링 과제 : 백준 9498, 2480번

9498번

문제

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

#include <stdio.h>

int main()
{
    int a;
    scanf("%d", &a);
    if(a >= 90){
        printf("A");
    } else if(a >=80){
        printf("B");
    } else if(a>=70){
        printf("C");
    } else if(a >=60){
        printf("D");
    } else {
        printf("F");
    }
    
    return 0;
}

2480번

문제

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.

  1. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 
  2. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 
  3. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.  

예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.

3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.

#include <stdio.h>

int main()
{
    int a,b,c;
    scanf("%d %d %d",&a, &b, &c);
    
    if(a == b && b == c) {
        printf("%d", 10000 + (a * 1000));
    } else if(a == b || b == c ){
        printf("%d", 1000 + (b * 100));
    } else if( a == c){
        printf("%d",1000 + (a * 100));
    } else {
        if(a > b && a > c){
            printf("%d", a * 100);
        } else if(b > a && b > c){
            printf("%d", b * 100);
        } else {
            printf("%d", c * 100);
        }
    }
    return 0;
}

조건 연산자 사용하고 싶었지만 왜 그런지 실행했을떄는 제대로 나오는데 문제는 틀렸다고 함 ㅠ