📄 uniformdesign.c
字号:
// UniformDesign.cpp : Defines the entry point for the console application.
//本程序计算的是由U18(18/4)表计算混料均匀设计5水平18次试验的情况
#include <stdio.h>
#include <windows.h>
#include <math.h>
/////////////////////////
//#define N 18
//#define S 5
//定义U18(18/4)设计表
static unsigned int u_table[18][4] =
{
{1,5,9,7},
{2,16,16,10},
{3,13,5,17},
{4,9,4,1},
{5,2,14,15},
{6,18,11,4},
{7,7,1,13},
{8,4,17,5},
{9,11,6,9},
{10,14,12,12},
{11,1,7,3},
{12,10,18,16},
{13,15,2,6},
{14,6,10,18},
{15,12,15,2},
{16,3,3,11},
{17,17,8,14},
{18,8,13,8}
};
///////////////////////////
int main(int argc, char* argv[])
{
//中间变量
double c_table[18][4];
//临时变量
double cTmp;
//用于递推的变量
double g_table[18][6];
//用于存储结果
double x_table[18][5];
//用于循环计数
int k,i,j;
//输出原表u_table
printf("最初表u_table:\n");
for (k=0;k<18;k++)
{
for (i=0;i<4;i++)
{
printf("%d\t",u_table[k][i]);
}
printf("\n");
}
//计算并输出c_tabale
printf("中间表c_table:\n");
for (k=0; k<18; k++ )
{
for (i=0; i<4; i++)
{
c_table[k][i] = (double)((double)u_table[k][i] - 0.5)/18.0;
printf("%6.5f\t",c_table[k][i]);
}
printf("\n");
}
//递推表
for (k=0; k<18; k++ )
{
g_table[k][0] = 1.0;
g_table[k][5] = 0.0;
for (j=0; j<5; j++)
{
cTmp = pow(c_table[k][j],1.0/(double)(5-j-1));
g_table[k][j+1] = g_table[k][j] * cTmp;
x_table[k][j] = g_table[k][j] - g_table[k][j+1];
}
}
//输出递推表
printf("递推表g_table:\n");
for (k=0;k<18;k++)
{
for (i=0;i<6;i++)
{
printf("%6.5f\t",g_table[k][i]);
}
printf("\n");
}
printf("最终结果x_table:\n");
for (k=0;k<18;k++)
{
for (i=0;i<5;i++)
{
printf("%6.5f\t",x_table[k][i]);
}
printf("\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -