C语言,求整数的个位数字,提交自动判断平台,出现:预期输出:1 2 3_ 实际输出:1 2 3_ 怎么办

题目描述:
给出一个不多于5位的正整数,求

(1)求出它是几位数

(2)分别输出每一位数字

(3)按逆序输出各位数字,例如原数字为321,应输出123.
要求:
输入整数
输入样例:
123
输出样例:
3
1 2 3
321
我的代码:

img

img

img

img

应该是最后一位后面多了个空格

void print(int n)
{
    if(n>9)
      print(n/10);
    if(n>9)
      printf("%d ",n%10);
    else
      printf("%d",n%10);
}

最后多了空格,print函数需要修改一下:
代码修改如下:

void print(int n)
{
    static int k = n;
    if(n>9)
    {
        print(n/10);
    }
    if(k == n)
        printf("%d",n%10);
    else
        printf("%d ",n%10);
}

供参考:

#include<stdio.h>
int main()
{
    int n,s=0,k=0;
    scanf("%d",&n);
    while(n)
    {
        k++;
        s = s*10 + n%10;
        n /= 10;
    }
    printf("%d",k);
    n = s; k = 0;
    while(s)
    {
        printf(k++ == 0?"\n%d":" %d",s%10);
        s /= 10;
    }
    printf("\n%d",n);
    return 0;
}