#include<stdio.h>
#include <stdlib.h>
#include <memory.h>
float T[5][5][5];//定义数组T
float d[5][5][5];//定义数组d
//float HuanCun[5][5][5]; //定义一个缓存数组,用来存放每次的结果
int main()
{
//输入,初始化
float dltx = 0.05; //dltx即为Δx
float lmd = 237.0; //lmd即为λ
float dltt = 25; //dlti即为Δt
float pp = 2700.0; //pp即为ρ
float cp = 880.0;
float T0 = 1000.0;
int N = 2;
int i = 0;
int j = 0;
int l= 0;
int aaaa = 0;
int bbbb = 0;
int ii = 0;
int jj = 0;
int ll= 0;
int ti = 0;
int tj = 0;
int tl =0;
float a;
float b;
float c;
float F0 = 1;//(lmd * dltt) / (pp * cp * dltx * dltx);
int P = 0;
for (ti=0; ti<=4; ti++)
{
for (tj=0; tj<=4; tj++)
{
for (tl=0;tl<=4; tl++)
{
T[ti][tj][tl] = 1000;
}
}
}
printf("T[ti][tj][tl]的值为:\n");
for (aaaa=0; aaaa<=4; aaaa++)
{
for (bbbb=0; bbbb<=4; bbbb++)
{
for(l=0;l<=4;l++)
{
printf("%f ", T[aaaa][bbbb][l]);
}
}
}
printf("\n");
for (P=1; P<=2; P++)
{
a = 1/2;
b = 1+(1/F0);
c = 1/2;
printf("***************************\n");
//循环1
for(j=0; j<=4; j++)
{
for (l=0; l<=4; l++)
{
//循环1的内层循环
for (ii=0; ii<=4; ii++)
{
if (0 == ii)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] + T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == j)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == i&& 0 ==j)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] + T[ii][j+1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 ==i && 0 ==l)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] + T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 ==j && 0 == l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == ii && 0 ==j && 0 == l)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] +T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 == ii)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] + T[ii][j+1][l]+T[ii][j-1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 == j)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j-1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 == l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j-1][l]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==i && 4==j)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] + T[ii][j-1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==i && 4==l)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] + T[ii][j+1][l]+T[ii][j-1][l]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==j && 4==l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j-1][l]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==ii && 4==j && 4==l)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] +T[ii][j-1][l]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}
else
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l+1]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}
}
}
}
printf("d[ti][tj][tl]的值为:\n");
for (aaaa=0; aaaa<=4; aaaa++)
{
for (bbbb=0; bbbb<=4; bbbb++)
{
for(l=0;l<=4;l++)
{
printf("%f ", d[aaaa][bbbb][l]);
}
}
}
}
return 0;
}