1. The value range for "float" is 10[sup]38[/sup], for "double" is 10[sup]138[/sup] .

There is no problem if you define variable of type "doble" for your case.
You might run into trouble if you use "float" type only.

charge= 1.602*1e-19
mass =1.673*1e-27

for acc=qE/m
I will define a new variable qoverm=1.602/1.673*1e8 without define q or m in the code