Home > Study > C Language > C Example > [ex29] 성적 계산 함수

[ex29] 성적 계산 함수
Study Language

문제 설명


다음과 같은 조건을 만족하는 성적처리 함수를 설계하라
함수명은 임의로 정하고 parameter는 int이고 return은 char로 지정한다
성적 기준은 다음과 같다
100~91 => A, 90~81 => B, 80~71 => C, 70~61 => D, 60이하 => F
성적을 입력하면 학점을 리턴 한다 (문자 A,B,C,D,F 중 하나)
단, 입력된 값이 0 ~ 100을 벗어나면 문자 ‘X’를 리턴 한다

#include <stdio.h>

char func(int score) 
{
	// 코드 작성
}

void main(void)
{
	int score;

	scanf("%d", &score);
	printf("%c\n", func(score));
}

입력 예시


90

출력 예시


B

정답 코드


#include <stdio.h>
 
/*
 
char func(int s)
{
    if ((s < 0) || (s > 100)) 
    {
        return 'X';
    }
     
    switch ((s - 1) / 10)
    {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5: return 'F';
        case 6: return 'D';
        case 7: return 'C';
        case 8: return 'B';
        case 9:
        case 10: return 'A';
    }
}
 
*/
 
char func(int s)
{
    char * r = "FFFFFFDCBAA";
     
    if ((s < 0) || (s > 100)) 
    {
        return 'X';
    }
     
    return r[(s -1) / 10];
}
 
void main(void)
{
    int score;
  
    scanf("%d", &score);
    printf("%c\n", func(score));
}

메모


printf 내부의 \n 습관화 필요