C语言的拆分数字问题

写一个函数,输入一串数字,长度不超过100,要求输出这串数字字符,但每两个数字间空一个空格。
如输入1990,应输出“19 90”
(这个问题我只会一个数字隔一个空格,两个数字隔一个空格属实没想到)


#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    char str[100];
    scanf("%s", &str);
    int len = strlen(str);
    for (int i = 0; i < len; i++)
    {
        if (i % 2 == 0 && i > 0)
        {
            printf(" ");
        }
        printf("%c",str[i]);
    }
    return 0;
}

循环里面输出的时候加个if,判断循环变量的奇偶,是偶就打印一个空格


#include <stdio.h>
void splitNumber(char s[], char res[]){
    int j=0;
    for(int i=0;s[i]!='\0';i++){
        if(i!=0&&i%2==0){
            res[j]=' ';
            j++;
        }
        res[j]=s[i];
        j++;
    }
    res[j]='\0';
}
int main() { 
    char s[105];
    char res[200];
    scanf("%s",s);
    splitNumber(s, res);
    printf("%s", res);
    return 0;
}