Difftime HA una precisione in secondi perchè time_t è un tipo che esprime un valore in secondi. Devi invece usare la funzione clock(), in questo modo:
codice:
clock_t start, elaps_time;
start = clock();
//Input
elaps_time = (clock() - start) / CLK_TCK;
//Ora elaps_time contiene il tempo impiegato in secondi con una precisione al millesimo
Bye

P.S.: Dimenticavo: clock() è una funzione di time e CLK_TCK è una costante di time. clock() restituisce i cicli di CPU trascorsi dall'inizio del processo. CLK_TCK esprime il rapporto cicli_cpu/secondi