printf("%d だ。",(n/U));
だと小数点以下が切り捨てられるので 0 になる。

int dice,i,n=1,U=1;
ではなく
int dice,i;
float n=1.0,U=1.0;
にして
printf("%f だ。",(n/U));
にしたらどう?