K_blueprint

#29. 입력받은 문자열의 스페이스, 개행 문자, 기타 모든 문자의 수를 출력하는 프로그램을 작성하라. 본문

C/실습 문제 모음

#29. 입력받은 문자열의 스페이스, 개행 문자, 기타 모든 문자의 수를 출력하는 프로그램을 작성하라.

GODAGO 2024. 5. 22. 10:30
반응형

< 문제 내용 >

● # 문자를 만날 때까지 사용자로부터 입력받은 문자열을 읽고 스페이스의 수(띄어쓰기), 개행 문자의 수(줄 바꿈), 기타 문자들의 수를 출력하는 프로그램을 작성하라.

 

< 입력 조건 >

● 사용자로부터 여러줄로 문자열을 입력받는다.

● 마지막 줄의 첫 번째 문자는 #이다.

 

< 출력 조건 >

● 스페이스의 수, 개행 문자의 수, 문자의 수를 순차적으로 출력한다.

 

< 풀이 코드 >

#include <stdio.h>

int main() 
{
    char c;		// 카운트 할 스페이스, 개행, 문자를 지정해주는 변수 
    int spaceCount = 0;		// 스페이스의 수를 저장하는 변수 
    int newlineCount = 0;		// 개행의 수를 저장하는 변수 
    int otherCount = 0;		// 문자의 수를 저장하는 변수 

    while (1)		//  무한 루프 반복문 
    {
        c = getchar();	// getchar() 함수로 문자를 하나씩 입력받도록 설정 

        if (c == ' ')		// C가 공백일때 
        {
            spaceCount++;		// spaceCout변수를 1증가 
        } 
        else if (c == '\n')		// C가 개행일 때 
        {
            newlineCount++;		// newlineCount변수를 1증가 
        } 
        else if (c == '#')		// C가 #일때 
        {
            break;		// 반복문 종료 
        } 
        else 
        {
            otherCount++;		// 일반 문자의 수를 카운트 
        }
    }

    printf("%d %d %d\n", spaceCount, newlineCount, otherCount);		// 출력문 

    return 0;
}

 

< 결과 출력 >

728x90
반응형