时光的河,入海流,终于我们分头走
// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include <iostream>
#include "stdio.h"
#include "math.h"
using namespace std;
int main()
{
double score[5][4] = { 0 };
double sum[4] = { 0 };
for (int i = 0; i < 5; i++)
for (int j = 0; j < 4; j++)
cin >> score[i][j];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 5; j++)
sum[i] += score[j][i];
double average[4] = {0};
for (int i = 0; i < 4; i++)
{
average[i] = (1.0 / 5.0) * (sum[i]);
printf("\n第%d列,平均值:%lf \n",i+1, average[i]);
}
printf("\n\n");
double sum5[4] = { 0 };
for (int i = 0; i < 4; i++)
{
printf("\n第%d列数据\n",i + 1);
for (int j = 0; j < 5; j++)
{
sum5[i]+= (score[j][i] - average[i]) * (score[j][i] - average[i]);
printf("平均差 :%lf\n",(score[j][i] - average[i]));
printf("平均差的平方:%lf\n", (score[j][i] - average[i]) * (score[j][i] - average[i]));
}
printf("平均差的总和:%lf\n\n", sum5[i]);
}
/*
16.00 32.08 58.98 9.910
15.70 32.06 59.00 9.905
15.80 32.12 58.82 9.912
15.74 32.02 58.90 9.903
15.96 32.00 59.16 9.988
*/
double U_ad[4] = {0};
double U_bd[4] = { 0.02 / sqrt(3),0.02 / sqrt(3),0.02 / sqrt(3),0.004 / sqrt(3) };
for (int i = 0; i < 4; i++)
{
U_ad[i] = sqrt(((1.00 / (double)(5 * 4)) * sum5[i]));
printf("第%d列U_ad%d: %lf\n",i+1, i + 1, U_ad[i]);
printf("第%d列U_bd%d: %lf\n\n", i + 1, i + 1, U_bd[i]);
}
printf("\n\n");
double U_d[4] = { 0 };
for (int i = 0; i < 4; i++)
{
U_d[i]=sqrt((U_ad[i] * U_ad[i] + U_bd[i] * U_bd[i]));
printf("第%d列U_d%d: %lf\n", i + 1, i + 1, U_d[i]);
}
double ZeroFix[4] = { 0 };
for (int i = 0; i < 3; i++)
{
ZeroFix[i] = average[i] + 0;
printf("第%d组,零点修正:D=average-D_0=%lf\n",i+1, average[i]);
}
ZeroFix[3] = average[3] + 0.01;
printf("第%d组,零点修正:D=average-D_0=%lf\n", 4, average[3]+0.001);
printf("\n\n结果:\n\n");
double D[4] = { 0 };
double E[4] = { 0 };
for (int i = 0; i < 4; i++)
{
U_d[i] += 0.005;
U_d[i] *= 100;
U_d[i] = int(U_d[i]);
U_d[i] /= 100;
printf("D[%d]===%lf 正负 %.3lf\n", i+1, ZeroFix[i],U_d[i]);
E[i] = U_d[i] / ZeroFix[i];
D[i] = ZeroFix[i];
printf("E%d===%lf % \n", i + 1, E[i]);
}
printf("\n\n\n体积:\n\n\n");
double V = ((3.1415926 /4.0)* (double)(D[1] * D[1] - D[0] *D[0]))* D[2];
printf("d2 =%lf d1=%lf H=====%lf V======%lf m*m*m\n\n",D[1],D[0],D[2], V);
printf("\n\n\n相对不确定度:\n\n\n");
double M = ((2 * D[0]) / (D[1] * D[1] - D[0] * D[0]) * U_d[0]);
M *= M;
double N = (2 * D[1] / (D[1] * D[1] - D[0] * D[0]) * U_d[1]);
N *= N;
double U_H = U_d[2] / D[2];
U_H *= U_H;
double VE = sqrt(M+N+U_H);
double U_v = V * VE;
printf("\n不确定度 U_v==V*E===%lf mm\n", U_v);
printf("\n\nV===正负U_v==%lf正负U_v%lf mm\n", V, U_v);
printf("\n\nE===U_v/V==%lf %\n", U_v / V);
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 入门提示:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件