Menu
Coddy logo textTech

최종 출력

Coddy C 여정의 Logic & Flow 섹션에 포함된 레슨 — 63개 중 24번째.

challenge icon

챌린지

쉬움

이전 레슨에서 빌드한 모든 기능을 하나의 종합적인 출력으로 통합하여 텍스트 유틸리티 프로그램을 완성하세요. 프로그램은 다음을 수행해야 합니다:

  1. 사용자에게 Enter a sentence: 를 출력하여 짧은 문장을 입력하도록 요청합니다 (끝에 줄 바꿈 없음 — printf("Enter a sentence: \n")이 아닌 printf("Enter a sentence: ")를 사용하세요).
  2. 입력을 저장하기 위해 200개의 요소를 가진 sentence라는 이름의 문자 배열을 선언합니다.
  3. scanf%s 형식 지정자를 사용하여 사용자로부터 단일 단어를 읽습니다.
  4. 표시 목적으로 원본 단어를 별도의 문자 배열에 저장합니다.
  5. strlen()을 사용하여 총 문자 수를 계산합니다.
  6. 각 문자를 반복하고 소문자와 대문자 모두에서 모음(a, e, i, o, u)과 일치하는지 확인하여 모음의 개수를 셉니다.
  7. 루프 내에서 toupper() 함수를 사용하여 단어를 대문자로 변환합니다.
  8. 모든 결과를 각 정보를 별도의 줄에 표시하여 깔끔하고 정리된 형식으로 출력합니다.

문자열 함수를 위한 <string.h> 헤더와 문자 변환 함수를 위한 <ctype.h> 헤더를 포함하는 것을 잊지 마세요.

출력은 다음의 정확한 형식으로 모든 결과를 표시해야 합니다:

Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]

중요: Enter a sentence: 프롬프트 뒤에는 줄 바꿈이 없어야 합니다. Original: 단어는 입력을 읽은 직후 같은 줄에 나타납니다.

예를 들어, 입력이 다음과 같다면:

Hello

출력은 다음과 같아야 합니다:

Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLO

이 마지막 챌린지는 입력 처리, strlen()을 이용한 문자 수 계산, 루프와 조건문을 이용한 모음 수 계산, toupper()를 이용한 대문자 변환 등 프로젝트 전반에 걸쳐 개발한 모든 텍스트 처리 기능을 하나로 모읍니다. 프로그램은 텍스트 분석 결과의 깔끔하고 정리된 요약을 제시해야 합니다.

직접 해보기

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {
    char sentence[200];
    
    printf("Enter a sentence: ");
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int length = strlen(sentence);
    printf("Character count: %d\n", length);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < length; i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    printf("Vowel count: %d\n", vowel_count);
    
    printf("Uppercase: ");
    for (int i = 0; i < length; i++) {
        printf("%c", toupper(sentence[i]));
    }
    printf("\n");
    
    return 0;
}

Logic & Flow의 모든 레슨