Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Viết chương trình đếm tần suất xuất hiện của tất cả các ký tự (không phân biệt hoa thường) có trong chuỗi ~s~ được nhập từ bàn phím. In ra kết quả theo thứ tự từ điển (Tần suất xuất hiện của các chữ số 0-9, sau đó là a-z).
Lưu ý:
- Chỉ đếm các ký tự thuộc bảng chữ cái tiếng anh (a-z, A-Z) và các chỗ số (0-9)
- Không in các ký tự có tần suất bằng 0.
Input
- Chuỗi ~s~ có độ dài không vượt quá 10000 ký tự
Giới hạn
- Chuỗi ~s~ có thể bao gồm các chữ cái (a-z, A-Z), chữ số (0-9), khoảng trắng và các ký tự đặc biệt
Output
- kết quả theo thứ tự từ điển (Tần suất xuất hiện của các chữ số 0-9, sau đó là a-z).Mỗi dòng gồm 1 ký tự (dạng viết thường) và số lần xuất hiện của ký tự đó trong ~s~, ngăn cách nhau bởi dấu cách
Sample
Input #1
Lap Trinh Khong Kho!
Output #1
a 1
g 1
h 3
i 1
k 2
l 1
n 2
o 2
p 1
r 1
t 1
Bình luận
có ích thì upvote cho mình nha
include <bits/stdc++.h>
using namespace std; string UP( string &s ){ for(int i = 0 ; s[i] != '\0' ; i++){ s[i] = tolower(s[i]); } return s; } int main(){ string s; getline(cin , s); UP(s); int cnt[256] = {0}; for(int i = 0 ; s[i] != '\0' ; i++){ if( isalpha(s[i]) || isalnum(s[i]) ) cnt[s[i]]++; } for(int i = 0 ; i < 256 ; i++){ if( cnt[i] != 0 ) cout << (char)i << " " << cnt[i] <<endl; } }
dùng multiset xuất
count(x)
đc nhaCó ai sai test 2 như mình k :v
giống mình
Bài nay bạn có thể dùng map