30/09/2018, 20:04

Tìm số đối xứng trong C

Chào mọi người, em mới học C về vòng lặp và đang bị lấn cấn bài này mong mọi người giúp em với.
Đây là code của em nhưng còn thiếu mong mọi người chỉ em thêm ạ:

Đề bài: Nhập vào số nguyên dương n. Hãy tìm và in ra các số đối xứng trong khoảng từ 1 đến n.

void main()
{
	int n;
	int m;		//lưu lại giá trị của n
	int dao;	        //số đảo
	int dx;		//lưu số đối xứng
	int d;
	printf("Nhap n:"); scanf("%d", &n);
	for (int i = 1; i < n; i++)
	{
		m = n;
		//tìm số đảo của n
		dao = 0;
		while (m > 0)
		{
			d = m % 10;	//lấy chữ số phải nhất của m
			dao = 10 * dao + d;	//thêm chữ số phải nhất vào đảo
			m /= 10;	//xóa chữ số phải nhất của m
		}
		dx = (dao == n ? 1 : 0);
	}
}
Sáng Béo viết 22:15 ngày 30/09/2018

Hãy tìm và in ra các số đối xứng trong khoảng từ 1 đến n

mình thấy bài bạn làm có vẻ là kiểm tra xem n có đối xứng hay không. Yêu cầu là tìm số đối xứng trong khoảng 1 đến n.
m = n; nên thay bằng m = i;
dx = (dao == n ? 1 : 0); thay bằng dx = (dao == i ? 1 : 0);
rồi cuối vòng lặp for thì chắc cũng phải in ra số nếu đối xứng chứ nhỉ?
if(dx == 1) printf("%d ",i);

Bài liên quan
0