[C언어 코드업 문제풀이] CodeUp 1204 : 영어 서수로 표현하기

코드업 1204번 영어 서수로 표현하기 문제 풀이 해답입니다.

 

1. 문제 설명

 

영어에서 서수를 나타낼 때 다음과 같이 나타낸다.

1st  2nd  3rd  4th  5th  6th  ... 

11th 12th 13th 14th 15th...

21st 22nd 23rd 24th 25th ...

31st 32nd 33rd 34th 35th...

41st 42nd 43rd 44th 45th...

...

91st 92nd 93rd 94th 95th ... 99th

1부터 99까지의 숫자가 입력되면 영어 서수 표현으로 출력하시오.

 

2. 입력

 

1~99 중 자연수가 하나 입력된다.

 

3. 출력

 

영어 서수로 출력한다. 위의 문제 참고.

 

4. 입력 예시

 

2

 

5. 출력 예시

 

2nd

 

6. 문제 풀이

 

#include <stdio.h>
 
 
int main (void)
{
    
    int num;
    scanf("%d",&num);
    printf("%d",num);
    if(num%10 == 1){
        if(num == 11){printf("th");}
        else{printf("st");}
    }
    else if(num%10 == 2){
        if(num == 12){printf("th");}
        else{printf("nd");}
    }
    else if(num%10 == 3){
        if(num == 13){printf("th");}
        else{printf("rd");}
    }
    elseprintf("th");}
 
    return 0;
}
 

 

먼저 서수의 규칙을 알아야 합니다.

 

1st  2nd  3rd  4th  5th  6th  ... 

11th 12th 13th 14th 15th...

21st 22nd 23rd 24th 25th ...

31st 32nd 33rd 34th 35th...

41st 42nd 43rd 44th 45th...

 

을 보시면 1,2,3,21,22,23,31,32,33,41,42,43은 1의 자리 숫자가 1,2,3에 따라 st,nd,rd 로 이루어지며

11,12,13 만 th,th,th 로 이루어져 있습니다.

 

먼저 1의 자리 숫자의 경우를 만들어주고 그 안에 11,12,13의 경우를 만들어 줍니다.

그리고 이것에 벗어나는 조건들은 th를 붙여 출력해주시면 됩니다.

댓글()