Lấy ra các chữ số của 1 số nguyên

Cho e hỏi số 2578995 thì làm sao lấy ra 2 5 7 8 9 9 5 e nghĩ xài gán mà thấy ko ổn

do
	{
		for (i = 0; i < n; i++)
		{
			int t = N % 10;
			printf("Cac phan tu trong N la:\t%d", t);
		}
	} while (n > 10)
		getch();

thử cách này bạn ơi !

#include<iostream>
#include<cmath>
using namespace std;

// hàm đếm số chữ số
int demChuSo(int n) {
    int dem = 0;
    while (n > 0) {
        n /= 10;
        dem++;
    };
    return dem;
}
// in các chữ số của n
void in(int n) {
    int Dem = demChuSo(n);
    while (n > 0) {
            int r = n / pow(10, Dem - 1);
            cout << r << " ";
            int x = pow(10,Dem-1);
            n = n % x ;
            Dem--;
	}
}
int main()
{
	int n;
	cin >> n;
	in(n);
	return 0;
}
```
3 Likes

Hoặc đơn giản thế này. :slight_smile:

#include <iostream>

void _sher(int n) {
    if (n == 0) return;
    _sher(n / 10);
    std::cout << n % 10 << ' ';
}

void sher(int n) {
    if (n == 0) std::cout << 0;
    else if (n > 0) _sher(n);
    else {
        std::cout << "- ";
        _sher(-n);
    }
}

int main() {
    sher(123456);
    return 0;
}
3 Likes

Bạn kiểm tra xem trong vòng lặp của bạn, các biến điều kiện như n, i và các biến còn lại t, N nó tương tác với nhau như thế nào mà lại không ra.
Hàm này nhỏ bạn thử chạy test tay xem kết quả như thế nào ?

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?