c语言,在begin和end中输入一段代码,将数字分开输出

#include<stdio.h>
void solve(int n){
    int temp=n%10;
    /Begin/
    
    /End*/
    if(n)
        printf(" %d", temp);
    else
        printf("%d", temp);
}
int main(void)
{
    int n;
    scanf("%d",&n);
    solve(n);
    return 0;
}

输入483
应输出4 8 3

实在想不出来了,要求用到递归,求解答


#include<stdio.h>
void solve(int n){
    int temp=n%10;
    if(n/10>0){        
        solve(n/10);
    }
    if(n)
        printf(" %d", temp);
    else
        printf("%d", temp);
}
int main(void)
{
    int n;
    scanf("%d",&n);
    solve(n);
    return 0;
}

个位=n%10;
十位=n/10%10;
百位=n/10/10%10;
依此类推就是把这个逻辑用递归实现

#include<stdio.h>
{
int d1,d2,d3;
d1=n%10;
d2=(n/10)%10;
d3=n/100
printf("%d %d %d",d1,d2,d3);

}