STR04 - Tần suất xuất hiện các ký tự
Xem dạng PDF
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, PyPy, 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
include <iostream>
include <string>
include <map>
include <cctype>
using namespace std;
int main() { iosbase::syncwith_stdio(false); cin.tie(NULL);
}
s = input() d = {} for x in s: if x not in d: d[x] = 1 else: d[x] += 1
for x in d: print(x, " " ,d[x])
include <bits/stdc++.h>
using namespace std; int main() { string s; getline(cin, s);
}
dùng map cho khỏi phải sắp xếp lại
ông làm bình luận này như thế nào hay vậy tri_88
dùng isalnum(char c) Trả về 1 nếu kí tự c là chữ số hoặc chữ cái, ngược lại trả về 0
hello ae
dùng multiset xuất
count(x)đc nhaCó ai sai test 2 như mình k :v
Bài nay bạn có thể dùng map