大学物理实验迈克尔逊干涉仪

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

迈克尔逊干涉测波长的c语言程序我这个程序是处理迈克尔逊干涉测波长数据处理的c语言程序这个程序是我昨天开始编的,今天终于完成了,这个程序我反复验证与修改,其准确性和判断能力有了大的提高!多的我就不说了,大家用了就知道了!

下面是程序代码:

#include

#include

double max(double f)

{

double k,l,g;

k=f;

l=(int)f;

l=k-l;

l=l*10;

g=l;

l=(int)l;

g=g-l;

g=g/10;

if(g>=0.05)

f=f;

else

f=f+0.1;

return f;

}

main()

{

float d0,d1,d2,d3,d4,d5;

float d10,d11,d12,d13,d14,d15;

double m,h,j,e,f,x,n,cd,ab,ef,gh,q;

printf("\t\t\t迈克尔逊干涉测波长的C语言程序\n");

printf("温馨提示:所输数据单位必须为:mm\n");

printf("请依次输入冒出的d0,d1,d2,d3,d4,d5五个数以空格间隔,即输完第一个数,按空格再输第二个数,输完d5请按回车\n");

qw:scanf("%f%f%f%f%f%f",&d0,&d1,&d2,&d3,&d4,&d5) ;

if(d0>0&&d1>0&&d2>0&&d3>0&&d4>0&&d5>0)

{

ab=d0+d1+d2;

cd=d3+d4+d5;

m=cd-ab;

m=m/9;

if(m<0)

printf("冒出与缩进输反了,系统已经进行智能化处理,下面输缩进,也要输成冒出的数据\n");

m=fabs(m);

printf("请依次输入缩进的d10,d11,d12,d13,d14,d15五个数以空格间隔,即输完第一个数,按空格再输第二个数,输完d5请按回车\n");

er:scanf("%f%f%f%f%f%f",&d10,&d11,&d12,&d13,&d14 ,&d15);

if(d10>0&&d11>0&&d12>0&&d13>0&&d14>0&&d15>0) {

gh=d10+d11+d12;

ef=d15+d14+d13;

n=gh-ef;

n=n/9;

if(n<0)

printf("冒出与缩进输反了,系统已经进行智

能化处理,不会影响测量结果\n");

n=fabs(n);

h=(m+n)/2;

j=2*h/50;

j=j*10000;

e=j-6.328;

q=e*100;

f=fabs(e);

f=f/6.328;

f=f*100;

if(j>6.0116&&j<6.6444)

{

printf("Δd1=%fmm\nΔd2=%fmm\nΔd=%fmm\n",m ,n,h);

printf("波长λ=%4.1fe+002nm\n相对误差:e=%4.1f%s\n绝对误差k=%4.1fnm\n",j,f,"%",q);

printf("\n\n测量结果:\n波长λ=(%3.1f ±%3.1f)e+002nm\n\n相对误差e=%4.1f%s\n",j,e,f,"%");

printf("\n注释:e+002表示10的平方");

}

else

printf("所测数据误差太大\n");

}

else

printf("输入有误,请重新输入\n");

goto er;

}

else

printf("输入有误,请重新输入\n");

goto qw;

}

这是我们实验时的数据:单位:mm

下页是我的操作结果:

相关文档
最新文档