Trông hơi hư cấu nhỉ :v nhưng sao chia lấy dư lần 2 là 3, mà số cuối cùng là 12?
Nhờ chỉ hướng đi cho bài tập sắp xếp các chữ số của 1 số theo thứ tự tăng dần
À viết nhầm, hihi. Để edit lại. Tại nãy viết hơi vội ko có xem lại.
Mình thấy vụ chữ số 0. Nếu có 0 trong số ban đầu thì khi sắp xếp xong là đẩy hết lên hàng cao nhất. Thế nên trong kết quả là các chữ số 0 bị loại hết.
Case switch nên được viết như sau:
while (n > 0) {
switch(n % 10) {
case 1: ++scs1; break;
case 2: ++scs2; break;
case 3: ++scs3; break;
case 4: ++scs4; break;
case 5: ++scs5; break;
case 6: ++scs6; break;
case 7: ++scs7; break;
case 8: ++scs8; break;
case 9: ++scs9; break;
default: break;
}
n /= 10;
}
Còn tính ra số mới thì tính từ hàng cao nhất sẽ dễ hơn. Ví dụ muốn thêm chữ số 5 vào đằng sau số thì chỉ cần Output = Output * 10 + 5;
1 Like