Cho số n, thay thế tất cả chữ số x bằng chữ số m.
Ví dụ: n=983, x=9, m=6 → kết quả 683. Nếu x không có trong n thì giữ nguyên.
Phương pháp
- Xử lý từ hàng đơn vị (
n % 10). - Nếu chữ số =
x: cộngm * cơ_sốvào kết quả. - Ngược lại: giữ nguyên chữ số.
cơ_số *= 10,n /= 10.
Mã nguồn C
#include <stdio.h>
int digitreplace(int n, int digit, int replace) {
int res = 0, d = 1, rem;
while (n) {
rem = n % 10;
if (rem == digit)
res += replace * d;
else
res += rem * d;
d *= 10;
n /= 10;
}
printf("%d\n", res);
return 0;
}
int main() {
int n = 983, digit = 9, replace = 7;
digitreplace(n, digit, replace);
return 0;
}
Kết quả
783