Home > Study > C Language > C task > [ex23] 성적 계산 함수

[ex23] 성적 계산 함수
Study Language

문제 설명


다음 조건에 맞는 성적처리 함수를 설계하시오.

  • parameter는 int이고 함수명은 func, return 타입은 char로 한다.
  • 성적기준은 90~100(‘A’), 80~89(‘B’), 70~79(‘C’), 60~69(‘D’), 60미만(‘F’)이다.
  • 성적을 입력하면 학점(문자 A, B, C, D, F중 하나)을 리턴하는 함수를 설계한다.
  • 단, 지정된 범위의 값이 아니면(음수나 100보다 큰 값) 반드시 문자 ‘X’를 리턴하여 출력한다.
#include <stdio.h>

// 함수 func 설계

void main(void)
{
	int score;

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

입력 설명


성적 점수인 정수 하나를 입력받는다. (음수, 양수, 0 모두 가능한 정수) 

출력 설명


입력 값에 따른 성적(A, B, C, D, F중 하나)을 출력하고 0~100범위의 수가 아니면 X를 출력한다.

입력 예시


92

출력 예시


A

정답 코드


#include <stdio.h>

char func(int s)
{
	if ((s < 0) || (s > 100)) return 'X';
	switch (s / 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';
	}
}

void main(void)
{
	int score;

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

메모


printf 내부의 \n 습관화 필요