c语言中关于末尾空格的问题

懒得截图了。题目是输出某一范围内的素数,按每行10个输出,代码没有问题,问题是输出要求每两个数之间有一个空格键,开头没有空格,末尾没有空格,该怎么写printf?

int num = 0;
cin>>num;
vector prime;
for (int i = 2; i <= num; ++i) {
if (isPrime(i)) {
prime.push_back(i);
}
}
for(int i = 0; i < prime.size(); i++)
{
if(i==0)printf("" + prime[i]);
else printf(" "+prime[i]);
}
写这么多年代码真没用过几次printf

for(int i=0;i<max;i++)
{
    if(i==0)printf(a[i]);
    else printf(" "+a[i]);
}

如果是数组输出的话可以判断下标,若是第0个则只输出这个元素,否则在前面加一个空格,如果不是数组,思路也类似,用一个变量计数就可以了

for (int i = 0;i < 20;i ++)
{
    if (i % 5 == 4)
    {
        printf("%d\n",i);
    }
    else
    {
        printf("%d ",i);
    }       
}

%b 退格 ,即可删除末尾空格