[c언어](연습문제) 알파벳 별로 몇개의 문자가 입력되었는지를 카운트

|



문자열로 입력된 문장에 대해 알파벳 별로 몇 개의 문자가 입력되었는지를 카운트를 하는 프로그램을 작성하시오. 문장에는 알파벳 외에 숫자나 특수기호 그리고 공백(space bar)이 사용되는데 이들은 모두 기타 문자로 카운트하시오. 단, 알파벳 문자는 대소문자 구분없이 카운트하고, 입력할 문장은 공백을 포함하여 최대 99자로 가정합니다.

#include <stdio.h>
#include <string.h>
int main(void)
{
    char str[100];
    char ap[27]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    char ap2[27]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
    int a[27]={0};
    int b=0;
    int index;
    printf("문장에서 알파벳과 기타문자 count\n\n");
    printf("문장을 입력하고 Enter\n");
    printf("문장>");
    gets(str);
    printf("\n결과\n");
    printf("알파벳  count\n");
    index = strlen(str);
    int i, j;
    for(i=0;i<26;i++)
    {
        for(j=0;j<index;j++)
        {
            if(ap[i]==str[j] || ap2[i]==str[j])
            a[i]+=1;
        }
        if(a[i]>0)
        printf("%c\t%d\n", ap2[i], a[i]);
    }
    for(i=0;i<index;i++)
            if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z'));
            else 
                b+=1;
    printf("기타\t%d\n", b);
    return 0;
}

// 실행 결과


  ::