반응형
코드를 보기 전에: 모든 알파벳에는 아스키코드가 있다.
알파벳을 숫자처럼 더하거나 빼면 그 알파벳의 아스키 코드로 계산한 숫자가 나온다.
이중 반복문을 사용해서 알파벳의 갯수를 계산한다.
1
2
3
4
5
6
7
8
|
for (int a = 0; a < strlen(s); a++)
{
for (int i = 0; i < 26; i++)
{
if (s[a] - 'a' == i) // s[a]가 만약에 b라고 하면 b - a = 1이된다.
abc[i]++;
}
}
|
cs |
알파벳 소문자에서 - 'a' 를 하면 0부터 25사이의 값이 나온다.
ex) b - 'a' = 1
Fullcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <stdio.h>
#include <string.h> // strlen을 사용하므로 string.h 헤더도 필요하다
int main()
{
char s[100] = { 0, };
scanf("%s", s); //단어 입력
char abc[26] = { 0, };
for (int a = 0; a < strlen(s); a++)
{
for (int i = 0; i < 26; i++)
{
if (s[a] - 'a' == i) // s[a]가 만약에 b라고 하면 b - a = 1이된다.
abc[i]++;
}
}
for (int a = 0; a < 26; a++)
{
printf("%d ", abc[a]);
}
return 0;
}
|
cs |
반응형