Thuật toán
- Định nghĩa MAX kích thước chuỗi.
- Nhập chuỗi.
- Khởi tạo mảng frequency[26] = 0 (chỉ đếm chữ cái a-z, A-Z).
- Duyệt chuỗi: nếu 'a'-'z' → freq[ch-'a']++; nếu 'A'-'Z' → freq[ch-'A']++.
- In các ký tự có freq > 0.
Chương trình
#include <stdio.h>
#include <string.h>
#define MAX 100
int main() {
char str[MAX];
int freq[26] = {0}, i, len;
printf("Nhap chuoi: "); gets(str);
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z')
freq[str[i] - 'a']++;
else if (str[i] >= 'A' && str[i] <= 'Z')
freq[str[i] - 'A']++;
}
printf("\nTan suat ky tu:\n");
for (i = 0; i < 26; i++)
if (freq[i] != 0)
printf("'%c' = %d\n", 'a' + i, freq[i]);
return 0;
}
Kết quả
Nhap chuoi: Tutorials Point
Tan suat ky tu:
'a' = 1
'i' = 2
'l' = 1
'n' = 1
'o' = 2
'p' = 1
'r' = 1
's' = 1
't' = 3