se no credo che puoi fare uno scanset... nel tuo caso (che vuoi solo che accetta numeri o il punto) dovrebbe funzionare così:

scanf("%d %[0-9.]",&s);
fflush(stdin);

PS: Spero di non aver fatto errori di sintassi... è da una vita che non uso scanf e printf