반응형
100 미만의 양의 정수를 입력받아 서수(ordinal numeral)로 변환하는 프로그램을 만들어 볼 것이다.
서수란 첫째, 둘째, 셋째와 같이 순서를 나타내는 숫자의 형태이다.
프로그램은 아래와 같다.
#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
if (n>=11 && n<=13)
printf("%dth",n);
else if (n%10==1 && n!=11)
printf("%dst",n);
else if (n%10==2 && n!=12)
printf("%dnd",n);
else if (n%10==3 && n!=13)
printf("%drd",n);
else
printf("%dth",n);
return 0;
}
이 프로그램을 작성할 때 주의해야 할 점은 예외 상황을 고려해야 한다는 것이다.
21, 22, 23같은 경우는 각각 21st, 22nd, 23rd로 표현되나, 11, 12, 13은 11th, 12th, 13th로 표현되어 예외임을 주의해야 한다. 이 점만 주의하면 손쉽게 프로그램을 구성할 수 있다.
시행 결과 예시는 아래와 같다.
11
11th
3
3rd
반응형
'C언어 > 예제' 카테고리의 다른 글
[C] 입력받은 숫자가 5의 배수인지 판별하는 프로그램 2 (0) | 2024.10.19 |
---|---|
[C] 입력받은 숫자가 5의 배수인지 판별하는 프로그램 (0) | 2024.10.19 |
[C] 사분면에서의 위치 파악 프로그램 (0) | 2024.10.19 |
[C] 숫자의 자릿수가 짝수인지 판별하는 프로그램 (0) | 2024.10.19 |
[C] 삼각형 판별 프로그램 (0) | 2024.10.19 |