Vấn đề
Với số cho trước, tìm phạm vi mà số đó nằm trong.
Giải pháp
Ở đây ta học cách tìm phạm vi của một số.
Logic áp dụng:
lower = (n/10) * 10; /* toán tử số học hoạt động trái sang phải */ upper = lower + 10;
Giải thích
Giả sử n = 45
lower = (42/10)*10 // phép chia lấy phần nguyên
= 4*10 = 40
upper = 40+10 = 50
Phạm vi - lower-upper = 40-50
Ví dụ
Chương trình C in phạm vi số:
#include <stdio.h>
main() {
int n, lower, upper;
printf("Nhap mot so:");
scanf("%d", &n);
lower = (n/10) * 10; /* toán tử số học hoạt động trái sang phải */
upper = lower + 10;
printf("Phạm vi la %d - %d", lower, upper);
getch();
}
Kết quả
Kết quả như sau:
Nhap mot so: 25 Phạm vi la 20 - 30
Chương trình C khác in phạm vi số:
#include <stdio.h>
main() {
int number, start, end;
printf("Nhap mot so:");
scanf("%d", &number);
start = (number/10) * 10; /* toán tử số học hoạt động trái sang phải */
end = start + 10;
printf("Phạm vi la %d - %d", start, end);
getch();
}
Kết quả
Kết quả như sau:
Nhap mot so: 457 Phạm vi la 450 - 460