?? sx05.c
字號(hào):
#include<stdio.h> /* PRACTICE 05 (DF IM D2)*/
#include<math.h>
void main()
{
float h0[15][6],h[15][6];
int ni, nj, ni01,nj01,ni02,nj02,mit,i,j;
float dx,dz;
double dfmax, df;
ni=14;
nj=5;
ni01=ni-1;
nj01=nj-1;
ni02=ni-2;
nj02=nj-2;
dx=100.0;
dz=dx;
for(i=1; i<=6;i++)/*DO 10 I=2,7*/
{
h0[i][0]=5.0;
h[i][0]=5.0;
}
for (i=8;i<=ni01;i++)/*DO 12 I=9,NI01*/
h[i][0]=0.0;
for(i=1;i<=ni01;i++)/*DO 5 I=2,NI01*/
{
for(j=1;j<=nj01;j++)/*DO 5 J=2,NJ01*/
h0[i][j]=0.0;
}
mit=0;
loop20: mit=mit+1;
dfmax=0.0;
for(j=1;j<=nj01;j++)/*DO 25 J=2,NJ01*/
{
h0[0][j]=h0[2][j];
h0[ni][j]=h0[ni02][j];
}
for(i=1;i<=ni01;i++)/*DO 27 I=2,NI01*/
h0[i][nj]=h0[i][nj02];
for(i=1;i<=ni01;i++)/*DO 30 I=2,NI01*/
{for(j=1;j<=nj01;j++)/*DO 30 J=2,NJ01*/
h[i][j]=(h0[i-1][j]+h0[i+1][j]+h0[i][j-1]+h0[i][j+1])/4.;
}
h[7][0]=(h0[6][0]+h0[8][0]+2*h0[7][1])/4.;
for(i=1;i<=ni01;i++)/*DO 45 I=2,NI01*/
for(j=0;j<=nj01;j++)/*DO 45 J=1,NJ01*/
{
df=fabs(h[i][j]-h0[i][j]);
if (df>dfmax) dfmax=df;
}
if (dfmax<0.0001)
{
printf("\n");
printf("H[i][j]");
for(j=0;j<=nj01;j++)
for(i=1;i<=ni01;i++)
printf("%-5.2f ",h[i][j]);
}
else
{
for (i=1;i<=ni01;i++)/*DO 50 I=2,NI01*/
{for(j=1;j<=nj01;j++)/*DO 50 J=2,NJ01*/
h0[i][j]=h[i][j];
}
h0[7][0]=h[7][0];
goto loop20;
}
return ;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -