728x90
반응형
더보기
// 현수의 컴퓨터가 바이러스에 걸려 영어단어가 띄어쓰기와 대소문자가 혼합되어 표현된다.
// 에러 단어로 표시되는 영어단어를 원래의 표현대로 공백을 제거하고 소문자화 시켜 출력하는 프로그램을 작성하시오.
// 입력설명
// 첫 줄에 바이러스에 걸린 영어단어가 주어진다. 바이러스에 걸린 영어단어의 길이(공백포함)은 100을 넘지 않는다.
//문자 사이의 공백은 연속적으로 존재 할 수 있습니다. 입력은 알파벳과 공백만 주어집니다.
// 출력설명
// 첫 줄에 소문자로 된 정상적인 영어단어를 출력한다.
# include <stdio.h>
int main(){
char input[101]; // 100을 넘지 않으니 101
char pr[101]; // 출력하는 배열
int i=0;
while((input[i] = getchar())!='\n') // enter 입력시 종료
{
if(input[i] != ' ') // 공백이 아닐 시에만
{
if(input[i]>=97 && input[i] <= 122) // ASCII 97 == a, 122 == z
{
pr[i] = input[i]; // 97>= <=122 일 경우만 pr[i]에 input[i] 넣는다.
}
else if(input[i]>=64 && input[i] <=90) // ASCII 64 == A , 90 == Z
{
pr[i] = input[i] + 32; // 소문자로 변환이기 때문에 + 32
}
else
{
continue; // 위의 두 조건문이 아닐 경우 continue
}
}
else
{
continue;
}
putchar(pr[i]);
i++;
}
return 0;
}
** 대문자로 복구하고 싶다면 조건문의 숫자만 변경하면 끝.
문제 출처 : 인프런 it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비
728x90
반응형
최근댓글