Cho chuỗi chứa chữ hoa (A-Z, ASCII 65-90), chữ thường (a-z, 97-122), số (0-9, 48-57), ký tự đặc biệt. Đếm tần suất từng loại.
Ví dụ: "Tutori@lPo!n&90" → Hoa: 2, Thường: 8, Số: 2, Đặc biệt: 3.
Giải thuật: Duyệt chuỗi, kiểm tra khoảng ASCII để phân loại.
Ví dụ
#include <iostream>
using namespace std;
void count(string str) {
int upper = 0, lower = 0, digit = 0, special = 0;
for (char c : str) {
if (c >= 'A' && c <= 'Z') upper++;
else if (c >= 'a' && c <= 'z') lower++;
else if (c >= '0' && c <= '9') digit++;
else special++;
}
cout << "Upper: " << upper << "\nLower: " << lower
<< "\nDigit: " << digit << "\nSpecial: " << special;
}
int main() {
count("Tutori@lPo!n&90");
return 0;
}
Đầu ra
Total Upper case letters in a string are: 2 Total lower case letters in a string are: 8 Total number in a string are: 2 total of special characters in a string are: 3