有没有哥能帮我把这三个整合成一输入数字其他的全出来啊,就是不用再次输入的那种

#include
#include
#include
using namespace std;
int main()
{
int n,i;

cout<<"请输入一个正整数(不超过3位数):"<;
cin>>n;

if(n==0)
{
i=1;
i++;
}
for(i=0;n!=0;i++)
{
n/=10;
}

cout<<"整数位数:"<;

cout<

int num=0;
cin>>num;
while (num > 0)
{
n = num % 10;
cout << n << endl;
num = num / 10;

}

cin>>num;
while(num != 0){

    cout<<num % 10; //取末位

    num = num / 10; //舍去末位

}

return 0;

}


int main()
{
    int n, i, x;

    cout << "请输入一个正整数(不超过3位数):" << endl;
    cin >> x; //
    n = x;      //
    if (n == 0)
    {
        i = 1;
        i++;
    }
    for (i = 0; n != 0; i++)
    {
        n /= 10;
    }

    cout << "整数位数:" << i << endl;
    //cout << n << endl;

    int num = x;
    //cin >> num;
    while (num > 0)
    {
        n = num % 10;
        cout << n << endl;
        num = num / 10;
    }
    num = x;
    //cin >> num;
    while (num != 0)
    {

        cout << num % 10; //取末位

        num = num / 10; //舍去末位
    }

    return 0;
}

是这意思么?

请输入一个正整数(不超过3位数):
456
整数位数:3
6
5
4
654