티스토리 뷰
<설명>
다수의 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 |