본문 바로가기

문제풀이/C++

[C++] 영어단어 복구

728x90

[목적]

대/소문자와 공백이 들어간 영어 단어를 공백을 제거한 소문자 단어로 출력한다.

 

[입력 예제]

bE au T I fu L

 

[출력 예제]

beautiful

 

[필요 지식]

getline

    공백이 포함된 문자열을 입력받을 수 있게 해준다.

    std::getline(isteam객체, string변수, delimitChar(default = '\n'))

    std::cin.getline(char배열, 배열에 저장 될 최대 문자의 개수, delimitChar)


[코드]

#include <iostream>
#include <cstring>
using namespace std;

int main(void) {
    
    char str[100], temp[100];
    int a=0;
	
    //공백을 포함한 문자배열 입력
    cin.getline(str, 100);
	
    //배열 길이만큼 반복문 실행
    for(int i=0; i < strlen(str); i++){
        //공백이 아닐 경우
    	if(str[i]!=' '){
            //대문자일 경우 소문자로 바꿔 temp에 저장
            if(str[i]>64 && str[i]<91)
                temp[a] = str[i]+32;
            //소문자일 경우 바로 temp에 저장
            else
                temp[a] = str[i];
            a++;
	}
    }
	
    cout << temp;
    
    return 0;
}

[실행 결과]

728x90
반응형

'문제풀이 > C++' 카테고리의 다른 글

[C++] 모두의 약수  (0) 2020.12.27
[C++] 올바른 괄호  (0) 2020.12.27
[C++] 숫자만 추출  (0) 2020.12.27
[C++] 나이 계산  (0) 2020.12.27
[C++] 나이 차이  (0) 2020.12.27