#include <iostream>
#include <cmath>
using namespace std;
int main()
{ float q, t, r, u, x, x1, x2,n1,e1,w,tg,te;
float p1 = 981,g = 9.794,l = 2.00e-3,b = 8.22e-3,P = 0.1013e6,d = 5.00e-3,n = 1.83e-5,c=1.602e-19;
cout<<"先输入下降时间,再输入上升时间,再输入上升时的电压:"<<endl;
cin >> tg>>te>>u;
r = sqrt(9 * n*l / (2 * p1*g*tg));
x=sqrt((n*l)/(1+b/(P*r)));
q = ((18*3.14)/sqrt(2*p1*g))*x*x*x*(d/u)*(1/tg+1/te)*sqrt(1/tg);
n1=q/(1.602e-19);
if(n1-int(n1)>=0.5)
{
n1=int(n1)+1;
}
else if(n1-int(n1)<0.5||n1-int(n1)>=0)
{
n1=int(n1);
}
else
{
cout<<"error";
}
e1=q/n1;
w=(e1-c)/c;
if(w<0)
w=0-w;
else
w=w;
cout<< "半径r= "<<r <<endl;
cout<<"油滴带电量q= "<< q<<endl;
cout<<"油滴所带基本电荷n= "<<n1<<endl;
cout<<"基本电荷带电量e= "<<e1;
printf("\n");
printf("相对误差= %lf\n",w);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkKeyBmbG9hdCBxLCB0LCByLCB1LCB4LCB4MSwgeDIsbjEsZTEsdyx0Zyx0ZTsKIGZsb2F0IHAxID0gOTgxLGcgPSA5Ljc5NCxsID0gMi4wMGUtMyxiID0gOC4yMmUtMyxQID0gMC4xMDEzZTYsZCA9IDUuMDBlLTMsbiA9IDEuODNlLTUsYz0xLjYwMmUtMTk7IAogY291dDw8IuWFiOi+k+WFpeS4i+mZjeaXtumXtCzlho3ovpPlhaXkuIrljYfml7bpl7TvvIzlho3ovpPlhaXkuIrljYfml7bnmoTnlLXljos6Ijw8ZW5kbDsKIGNpbiA+PiB0Zz4+dGU+PnU7CiByID0gc3FydCg5ICogbipsIC8gKDIgKiBwMSpnKnRnKSk7IAogeD1zcXJ0KChuKmwpLygxK2IvKFAqcikpKTsKIHEgPSAoKDE4KjMuMTQpL3NxcnQoMipwMSpnKSkqeCp4KngqKGQvdSkqKDEvdGcrMS90ZSkqc3FydCgxL3RnKTsKIG4xPXEvKDEuNjAyZS0xOSk7CiBpZihuMS1pbnQobjEpPj0wLjUpICAKIHsgICAgICAgIAoJIG4xPWludChuMSkrMTsgICAgCn0gICAgCiBlbHNlIGlmKG4xLWludChuMSk8MC41fHxuMS1pbnQobjEpPj0wKSAgIAogeyAgICAgICAKCSBuMT1pbnQobjEpOyAgCiAgfSAgIAogZWxzZSAgIAogeyAgICAgICAKCSBjb3V0PDwiZXJyb3IiOyAgCiAgfSAgICAKIGUxPXEvbjE7IAogdz0oZTEtYykvYzsKIGlmKHc8MCkKCSB3PTAtdzsKIGVsc2UKCSB3PXc7CiBjb3V0PDwgIuWNiuW+hHI9ICAgIjw8ciA8PGVuZGw7CiBjb3V0PDwi5rK55ru05bim55S16YePcT0gICAiPDwgcTw8ZW5kbDsgCiBjb3V0PDwi5rK55ru05omA5bim5Z+65pys55S16I23bj0gICAiPDxuMTw8ZW5kbDsKIGNvdXQ8PCLln7rmnKznlLXojbfluKbnlLXph49lPSAgICI8PGUxOyAKIHByaW50ZigiXG4iKTsKIHByaW50Zigi55u45a+56K+v5beuPSAgICVsZlxuIix3KTsKIHJldHVybiAwOwp9