只是一个小工具,目前存在的问题是,测量次数不能为1,否则出错(但实验测量不可能仅测一次) [successbox title=”使用方法”]输入测量次数 回车 输入测量结果 以空格隔开 回车确认后会直接计算好平均值和A类不确定度…. 详细懒得说了[/successbox] [warningbox title=”编译好的程序:”][success][ypbtn]https://www.lanzous.com/iadunmd\[/ypbtn\]\[/success\]\[/warningbox\] [successbox title=”运行效果”][collapse title=”点击展开图片”]
[/collapse][/successbox] [infobox title=”代码如下”] [collapse title=”C语言源代码”]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| /* Copyright Howardshome.cn 20200317 */ #include <stdio.h> #include <conio.h> #include <math.h> #define N 100 //粘贴过来后代码缩进没了,凑合看吧 int main() { int i,n=0; double in[N]; double avd=0, Ua=0,Ub=0,U,sum=0,sum2=0; printf("请输入测量次数:\n"); scanf("%d",&n); printf("\n请输入测量数据:\n"); for(i=0;i<n;i++){ scanf("%lf",&in[i]); sum+=in[i]; } avd=sum/n; for(i=0;i<n;i++){ sum2+=pow((in[i]-avd),2); } Ua=sqrt((sum2)/(n*(n-1))); printf("\n平均值是%lf\nA类不确定度是%.8lf\n",avd,Ua);//A类不确定度保留8位有效数字,需要的自己调 printf("\n请输入B类不确定度:\n"); scanf("%lf",&Ub); U=sqrt(pow(Ua,2)+pow(Ub,2)); printf("\n不确定度U=%lf\n",U); printf("\n按任意键退出"); while(!kbhit()); return 0; }
|
[/collapse][/infobox] 好了,我又水了一篇