C_C++

(C/C++) 알파벳 개수: 대소문자 구분

고니자니 2022. 11. 17. 20:31
반응형

#C언어 #알파벳 #개수 #갯수 #카운트 #대소문자 #getline

 

 

입력받은 문자열에서 알파벳 개수를 구해서 출력하는 프로그램입니다.

- 대소문자를 구별합니다.

 

C++ 코드

#include <iostream>
using namespace std;

int main()
{
    int cnt1[26] = { 0 };  // 알파벳 대문자 개수
    int cnt2[26] = { 0 };  // 알파벳 소문자 개수

    char s[100];

    cout << "문자열을 입력하세요." << endl;
    cin.getline(s, 100);

    for (int i = 0; s[i] != '\0'; i++)
    {
        if (s[i] >= 'A' && s[i] <= 'Z') // 대문자
            cnt1[s[i] - 'A']++;  // 'A'->0, 'B'->1, ...
        if (s[i] >= 'a' && s[i] <= 'z') // 소문자
            cnt2[s[i] - 'a']++;
    }

    for (int i = 0; i < 26; i++)
        if (cnt1[i] != 0)
            cout << (char)(i+'A') << ": " << cnt1[i] << endl;

    for (int i = 0; i < 26; i++)
        if (cnt2[i] != 0)
            cout << (char)(i + 'a') << ": " << cnt2[i] << endl;
}

 

 

C언어

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
    int cnt1[26] = { 0 };  // 알파벳 대문자 개수
    int cnt2[26] = { 0 };  // 알파벳 소문자 개수

    char s[100];

    printf("문자열을 입력하세요.\n");
    fgets(s, 99, stdin); 
    s[strlen(s) - 1] = '\0';

    for (int i = 0; s[i] != '\0'; i++)
    {
        if (s[i] >= 'A' && s[i] <= 'Z') // 대문자
            cnt1[s[i] - 'A']++;  // 'A'->0, 'B'->1, ...
        if (s[i] >= 'a' && s[i] <= 'z') // 소문자
            cnt2[s[i] - 'a']++;
    }

    for (int i = 0; i < 26; i++)
        if (cnt1[i] != 0)
            printf("%c: %d\n", i + 'A', cnt1[i]);

    for (int i = 0; i < 26; i++)
        if (cnt2[i] != 0)
            printf("%c: %d\n", i + 'a', cnt2[i]);
}

 

 

 

 

반응형