这个代码是找出一定范围里的素数,每五个换一行,最后不能有空格。请各位帮我看一下,我这多了一个空格最后,应该怎么改?

#include <stdio.h>
#include <stdlib.h>
int main()
{
int num(int x,int y);
int m,n,a;
scanf("%d %d",&m,&n);
if(m>n)
{
a=m;
m=n;
n=a;
}
num(m,n);
return 0;
}
int num(int x,int y)
{
int i,j,z=0;
for (i = x; i <=y; i++)
{
for (j = 2; j < i; j++)
{
if (i%j == 0)
{
break;
}
if (j==i-1)
{
printf("%d",i);
z++;
if(z%5!=0)
{
printf("m");
}
if(z%5==0&&z>0)
{
printf("\n");
}
}
}
}
return i;
}

#include <stdio.h>
#include <math.h>
#include <assert.h>

int is_prime(int x)
{
    assert(x > 1);
    if (x == 2)
        return 1;
    int n = (int)sqrt(x);
    for (int i = 2; i <= n; i++)
        if (x % i == 0)
            return 0;
    return 1;
}

int main()
{
    int m, n, count = 0;
    scanf("%d%d", &m, &n);
    for (int i = m; i <= n; i++)
    {
        if (is_prime(i))
        {
            printf("%d", i);
            count++;
            if (count % 5 == 0)
                printf("\n");
            else
                printf(" ");
        }
    }
    return 0;
}