문제 설명
다음 조건에 맞는 성적처리 함수를 설계하시오.
- 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 습관화 필요