Trong chương trình này, chúng ta sẽ thấy cách loại bỏ các số 0 ở đầu (leading zeros) từ một chuỗi trong C++. Đôi khi một chuỗi có thể chứa các số 0 ở đầu như "00023054". Sau khi thực thi chương trình này, nó sẽ trả về "23054" chỉ. Các số 0 ban đầu bị loại bỏ.
Đầu vào: Chuỗi có số 0 ở đầu "000023500124" Đầu ra: "23500124"
Thuật toán
Bước 1: Lấy chuỗi Bước 2: Đếm số lượng số 0 ở đầu n Bước 3: Xóa n ký tự từ đầu Bước 4: Trả về chuỗi còn lại.
Mã ví dụ
#include<iostream>
using namespace std;
main() {
string my_str = "000023500124";
int num = 0;
cout << "Số có số 0 ở đầu: " << my_str << endl;
//đếm số lượng số 0 ở đầu trong chuỗi
while(my_str[num] == '0') {
num++;
}
my_str.erase(0, num); //xóa các ký tự từ 0 đến chỉ số num
cout << "Số không có số 0 ở đầu: " << my_str;
}Kết quả
Số có số 0 ở đầu: 000023500124 Số không có số 0 ở đầu: 23500124