📄 sx01.c
字号:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
/* PRACTICE 01 (D1 EXPLICIT METHOD)*/
float KM,MU,LAMDA;
float DX,DT;
float H0[11],H[11];
float TIME;
int NP,NP01,ndt,mdt;
int ICOUNT,IPRINT;
int i;
KM=20.0;
MU=0.002;
NP=11;
NP01=NP-1;
ndt=80;
DX=10.0;
DT=0.005;
LAMDA=KM*DT/(MU*DX*DX);
printf("\nLAMDA=%5.2f\n",LAMDA);
for(i=0;i<NP;i++)
{H0[i]=16.0;}
H0[0]=16.0;
H[0]=16.0;
H[NP-1]=16.0;
printf("\nTime Head\n\n");
TIME=0.0;
ICOUNT=1;
IPRINT=4;
for(mdt=0;mdt<ndt;mdt++)
{
TIME=TIME+DT;
H[0]=16.0+TIME*exp(-TIME);
H0[0]=16.0+TIME*exp(-TIME);
H[NP-1]=16.0-TIME*exp(-TIME);
for(i=1;i<NP01;i++)
{H[i]=LAMDA*(H0[i-1]+H0[i+1])+(1-2*LAMDA)*H0[i];}
if(ICOUNT==IPRINT)
{
printf("%5.2f",TIME);
for(i=0;i<NP;i++)
{
printf("%6.2f",H[i]);
}
printf("\n");
ICOUNT=1;
}
else
{
ICOUNT=ICOUNT+1;
}
for(i=1;i<NP01;i++)
{
H0[i]=H[i];
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -