c – “Arredondamento” a partir de um momento começa a dar 0

alguem consegue me ajudar? Este programa era suposto “arredondar” numeros, como por exemplo o numero 77543216 deveria dar 7700000, ou entao 43211 deveria dar 40000, 35093 deveria dar 35000 ou ainda 5767 deveria dar 5700, etc. Porem este codigo deixa de dar resultados certos a partir de um certo momento.

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

double arredondamento(int x)
{
double num;
ceil( x / 10000) * 10000;
return num;
}


void test_arredondamento(void)
{
    int x; //votos
    while (scanf("%d", &x) != EOF) {
        double arredondamento_t = arredondamento(x);
        printf ("%fn", arredondamento_t);
    }
}

int main(void)
{
   test_arredondamento();
   return 0;
}