문 제
시험 점수를 입력받아 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