这个程序怎么搞啊,尤其是第二条

img

主要是这第二条要求怎么打,希望过程越简单越好最好能有点批注啊,谢谢大家了

求几位数,就是循环除以10,看循环几次后变为0,就是几位数
分别输出每一位数字,可以使用递归,通过不断求余,倒序输出
逆序输出可以不断求余,然后余数乘以10,形成倒序数
代码如下:

void func(int n)
{  
    if(n<10)
        printf("%d ",n);
    else
    {
        func(n/10);
        printf("%d ",n%10);
    }
}
int main()
{
    int n,m,count= 0;
    scanf("%d",&n);
    m = n;
    while(m>0)
    {
        count++;
        m/=10;
    }
    printf("%d为%d位数\n",n,count);
    //
    printf("每位数字是:");
    func(n);
    printf("\n");
    //
    m=n;
    count = 0;
    while(m>0)
    {
        count = count*10 + m%10;
        m/=10;
    }
    printf("倒序数为:%d\n",count);
}