반응형
#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]);
}
반응형
'C_C++' 카테고리의 다른 글
(C언어) 입력 버퍼 비우기: rewind fflush (0) | 2022.11.20 |
---|---|
(C언어) strtok: 문자열 분리 (0) | 2022.11.19 |
(C언어) 원주율 파이 구하기 3.1415926535897 (0) | 2022.11.17 |
(C언어) 오늘의 명언 출력하기 (0) | 2022.11.15 |
(C언어) 석차(순위) 구하기 (0) | 2022.11.15 |