#1021 · Đảo ngược số nguyên dương có 3 chữ số

MÔ TẢ BÀI TOÁN

  • Viết chương trình đảo ngược một số nguyên dương có đúng 3 chữ số.
  • Ví dụ: Nhập vào n = 234 => In ra: 432

Dữ liệu vào

Số nguyên dương n có 3 chữ số.

Dữ liệu ra

  • Đảo ngược số nguyên dương n vừa nhập.
  • Trường hợp nhập nhiều hơn 3 chữ số hoặc số âm, trả về "None"

BẢNG TỔNG QUAN KẾT QUẢ

# Tài khoản Kết suất Lúc nộp
1
0 ms 184 KB
230 Bytes
04/01/2023
10:25
2
M
Lê Quang Minh @2280601934
0 ms 184 KB
325 Bytes
12/06/2023
18:27
3
K
0 ms 188 KB
212 Bytes
09/04/2023
22:10
4
T
0 ms 188 KB
218 Bytes
17/01/2023
22:01
5
N
Bùi Cao Nguyên @2280602102
0 ms 188 KB
219 Bytes
24/02/2023
11:01
6
0 ms 188 KB
235 Bytes
15/03/2023
16:01
7
T
Trình Minh Trí @2180608752
0 ms 192 KB
169 Bytes
02/01/2023
11:05
8
0 ms 192 KB
174 Bytes
23/05/2023
23:26
9
V
0 ms 192 KB
210 Bytes
14/01/2023
21:19
10
0 ms 192 KB
275 Bytes
06/03/2023
22:14
11
N
0 ms 196 KB
239 Bytes
25/03/2023
09:47
12
0 ms 196 KB
338 Bytes
19/11/2022
15:38
13
0 ms 200 KB
255 Bytes
03/10/2023
21:56
14
T
Phạm Văn Trà @2280603325
0 ms 200 KB
329 Bytes
12/02/2023
01:10
15
Đ
0 ms 200 KB
344 Bytes
28/02/2023
23:00
16
N
0 ms 200 KB
348 Bytes
02/10/2023
23:09
17
0 ms 200 KB
630 Bytes
22/11/2023
23:03
18
A
0 ms 200 KB
667 Bytes
27/09/2023
22:33
19
A
0 ms 200 KB
667 Bytes
27/09/2023
22:34
20
A
Nguyễn Phi Anh @25800600021
0 ms 216 KB
321 Bytes
26/12/2025
09:26

LỊCH SỬ CÁ NHÂN

Vui lòng đăng nhập để xem lịch sử làm bài của bạn.

THẢO LUẬN BÀI TOÁN

1 năm trước

wed chayj sai

include <stdio.h>

int demchuso (int a) {

int dem;
while(a!=0)
{
	a = a / 10;
	dem++;
}
return dem;

}

int daoNguocSo(int a) {

int soDaoNguoc = 0;
int chuSo;
while (a != 0) {
    chuSo = a % 10;  
    soDaoNguoc = soDaoNguoc * 10 + chuSo;  
    a /= 10;  
}
return soDaoNguoc;  

}

int main() {

int a;

scanf("%d", &a);

if(demchuso(a)>3)
{
	
	printf("None");
}
else
{
	int huynhbinh = daoNguocSo(a);
	printf("%d",huynhbinh);
}
return 0;

} 425 chay ra 524 nhung wed truong ra ket qua None , xem lai giup voi

Vào thảo luận 0 Phản hồi
L
2 năm trước

sai kết quả

tại sao tôi chạy bên dev++ ra kết quả đúng mà lại nộp bên wed ra kết quả khác vậy tôi đã đúng testcase rồi mà

Vào thảo luận 0 Phản hồi
2 năm trước

tại sao lại lỗi biên dịch ạ.

include <stdio.h>

int main() {

int n;
int dv=0, ch, d; 
scanf("%d",&n);

if (n < 100 && n > 999)
{
	printf("None");
}
else 
{	d = n;
	while(d > 0)
	{
		dv = d % 10;
		ch = ch *10 + dv;
		d = d / 10;
	}
	printf("%d",ch);
}
 

return 0; 

}

Vào thảo luận 1 Phản hồi
2 năm trước

tại sao lại biên dịch lỗi ạ

include <stdio.h>

int main() {

int n;
scanf("%d", &n);

if (n >= 100 && n <= 999) {
    int reversedNumber = 0;

    reversedNumber += (n % 10) * 100;
    n /= 10;
    reversedNumber += (n % 10) * 10;
    n /= 10;
    reversedNumber += (n % 10);

    printf("%d\n", reversedNumber);
} else {
    printf("None\n");
}

return 0;

}

Vào thảo luận 0 Phản hồi
K
3 năm trước

sao đoạn code này sai vậy ạ

include <stdio.h>

int main() {

int n;
scanf("%d", &n);

if (n < 100 || n > 999) {
    printf("None");
} else {
    int tam = 0;
    while (n > 0) {
        tam = tam * 10 + n % 10;
        n /= 10;
    }
    printf("%d", tam );
}
return 0;

}

Vào thảo luận 0 Phản hồi

GỢI Ý & HƯỚNG DẪN

Lần lượt lấy các chữ số (sử dụng phép chia "/" và phép chia lấy phần dư "%") và in ra màn hình theo thứ tự:

  • Chữ số hàng đơn vị
  • Chữ số hàng chục
  • Chữ số hàng trăm Ví dụ:
  • 234%10 = 4
  • 234/10 = 23
  • 23 %10 = 3
  • 23/10 = 2
  • 2%10 = 2
  • 2/10 = 0 => Dừng
Viết code