티스토리 뷰

공부/2018-2 프로그래밍연습

07. Conversion

열대urim 2018. 12. 11. 19:48

<설명>

다수의 character를 input으로 받고, 대소문자를 서로 변경하여 출력한다.


<Input>

아스키 table에 있는 모든 문자로 이루어진, 1줄의 문자들


<Output>

대소문자를 서로 변경시킨 문자들.


<소스코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main (void)
{
    char ch=0;
 
    while(scanf("%c",&ch)!=EOF)    
    {
        if(ch>('a'-1)&&ch<('z'+1))
            ch=ch-('a'-'A');
        else if(ch>='A'&&ch<='Z')
            ch=ch+('a'-'A');
 
        printf("%c",ch);
    }
    return 0;
}
 
cs


<설명>

아스키 테이블에서 대문자와 소문자는 각각 순서대로 정해져 있기 때문에

['a', 'z'] 사이에 모든 소문자가 차례대로 있고, ['A', 'Z'] 사이에 모든 대문자가 차례대로 있다.


'a'-'A'는 소문자 'a'와 대문자 'A'의 차이인데, 모든 대문자와 소문자는 이와 동일한 차이를 가진다.

이 값을 소문자에서 빼면 대문자가 되고, 이 값을 대문자에다가 더하면 소문자가 될 것이다.

'공부 > 2018-2 프로그래밍연습' 카테고리의 다른 글

09. Print in Reverse  (0) 2018.12.11
08. Multiplication Table  (0) 2018.12.11
06. Average  (0) 2018.12.11
05. Data types Practice  (0) 2018.12.11
04. 1 to 10  (0) 2018.12.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함