SPRING :: NOTE
[C] 주어진 문자열에서 대소문자를 변환하여 출력하는 코드 본문
반응형
# 문제 설명
- 영어 알파벳으로 이루어진 문자열 str이 주어짐
- 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성
# 제한사항
- 1 ≤ str의 길이 ≤ 10
- str은 알파벳으로 이루어진 문자열
#include <stdio.h>
#include <string.h>
int main() {
char str[11];
scanf("%s", str);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if ('a' <= str[i] && str[i] <= 'z') { // 소문자일 경우
putchar(str[i] - 'a' + 'A'); // 대문자로 변환하여 출력
} else if ('A' <= str[i] && str[i] <= 'Z') { // 대문자일 경우
putchar(str[i] - 'A' + 'a'); // 소문자로 변환하여 출력
} else { // 알파벳이 아닐 경우
putchar(str[i]); // 그대로 출력
}
}
putchar('\n'); // 줄바꿈 문자를 출력합니다.
return 0;
}
위 코드에서는 입력으로 문자열을 받고, for문을 이용하여 문자열의 각 문자를 하나씩 검사한다.
if문을 이용하여 알파벳인 경우, 대문자를 소문자로, 소문자를 대문자로 변환하여 출력한다.
만약 알파벳이 아닌 경우, 그대로 출력하고, 마지막으로 개행 문자를 출력한다.
이 코드에서도 문자열의 길이가 최대 10이므로, 문자열을 저장하기 위해 11개의 메모리 공간을 할당하였다.
만약 입력으로 주어지는 문자열의 길이가 10보다 크다면, 배열의 크기를 늘려야 한다.
반응형
'Development Language > C · C++ · MFC' 카테고리의 다른 글
[C] 두개의 문자열을 붙여서 출력하는 프로그램 작성 (0) | 2023.04.25 |
---|---|
[C] 특수문자 '!@#$%%^&*('\"<>?:;' 출력하기 (0) | 2023.04.25 |
[C] 문자열 반복해서 출력하는 프로그램 작성 (0) | 2023.04.25 |
[C] 문자열을 입력하여, 출력하는 프로그램 코드 (0) | 2023.04.25 |
[libvlc] gdipImageencoders의 libvlc.dll에서 찾을 수 없는 문제 (0) | 2019.08.18 |
Comments