반응형
영어 단어를 입력받은 후, 알파벳 개수 출력하기
입력형식 | 출력형식 |
문자열 입력(대문자): AAEEEBBCFAA |
A: **** |
#include<stdio.h>
int main(){
char str[50];
int alpha[26] = {0}; // alpha[] 배열의 값들을 0으로 초기화한다.
int i = 0;
printf("문자열 입력(대문자) : ");
scanf("%s", str);
while(str[i] != 0){ // str[i]가 0(null)이 아닐 때까지 반복한다. 즉, 입력된 문자 수 만큼 반복한다.(문자열 배열에는 마지막에 null 문자가 존재한다.)
alpha[str[i] - 65]++; // alpah[]는 알바펫을 순서대로 나열하여 알파벳의 개수를 구하기 위한 배열이다. (alpha[0] = 'A', alpha[1] = 'B' ... alphp[25] = 'Z')
// 만약 str[1]=C라면, str[1]==C==67이다. 이때 alpha[str[1]-65]는 alpha[2]가 되고, 즉 C를 나타내게 된다.
// str[] 배열에 저장된 각각의 알파벳을 'str[i] - 65'로 알 수 있다.
i++;
}
for(int j = 0; j < 26; j++){
printf("%c : ", j + 65);
for(int k = 0; k < alpha[j]; k++){
printf("*");
}
printf("\n");
}
return 0;
}
반응형
'C' 카테고리의 다른 글
[C언어] 실습: 다차원 배열 출력하기 (0) | 2021.03.22 |
---|---|
[C언어] 실습: 크기 5인 int형 배열을 선언하고, 배열의 첫 번째 요소를 가리키는 포인터 변수 ptr을 선언하여 배열의 요소를 출력하는 프로그램 구현하기 (0) | 2021.03.20 |
[C언어] 문자열 (%s) (0) | 2021.03.17 |
[C언어] 문자열 변수 (배열) (0) | 2021.03.16 |
[C언어] 실습: 다섯 개의 정수를 입력받은 후, 각 정수와 합, 최댓값과 최솟값의 차이 출력하기 (0) | 2021.03.15 |