문 제

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

입 력

첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

100

출 력

시험 성적을 출력한다.

A

코 드

using System;
using static System.Console;

namespace algorithm
{
    class Program
    {
        static void Main(string[] args)
        {
            int score = int.Parse(ReadLine());
            string result = "";

            if (score >= 90 && score <= 100)
                Write("A");
            else if (score >= 80 && score < 90)
                Write("B");
            else if (score >= 70 && score < 80)
                Write("C");
            else if (score >= 60 && score < 70)
                Write("D");
            else
                Write("F");
        }
    }
}

비교코드 - 1

Math.Truncate() 함수를 사용하여 소수점 부분을 잘라내고 10을 곱하여 몇 점인지 switch문을 통하여 판별!

using System;

namespace algorithm
{
    class Program
    {
        static void Main(string[] args)
        {
            // 입력 + 형변환
            int input = int.Parse(Console.ReadLine());

            // 1의 자리 버리고 숫자 동일하게 설정
            int score = (int)(Math.Truncate(input / 10.0) * 10);

            // 문자열 선언 + switch문
            string grade = score switch
            {
                100 => "A",
                90 => "A",
                80 => "B",
                70 => "C",
                60 => "D",
                _ => "F"
            };

            Console.WriteLine(grade);
        }
    }
}

공 부

Math.Truncate(Num)

소수점 부분을 잘라내어 날려버린다! 양수/음수 모두 Math.Truncate(Num)를 하면 정수만 남는다!

Math.Floor(Num)

양 수

Math.Floor(100.1234) -> 100 Math.Truncate(100.1234) -> 100

음 수

Math.Floor(-100.1234) -> -101 Math.Truncate(-100.1234) -> -100