devc++程序没有报错,为什么运行不了
#include<stdio.h>#include<math.h>
#define N 11
main()
{
int i;
float cha;
float t[N],a[N],b[N];
float h,t1,t0,r,D,H,x,m,A,p;
printf("已知:h=45,t1=80,t0=300,r=110,D=110,H=0.1 (ISO)\n");
/*赋值*/
h=45, t1=80, t0=300.0, r=110.0, D=110.0, H=0.1;
x=H/N; A=3.1415*D*D/4; p=3.1415*D; m=sqrt((h*p)/(r*A));
/*x代表步长*/
printf("\n假定一个温度场的初始分布:\n");
for(i=0;i<N;i++)
{
scanf("%f",&t[i]);
a[i]=(t[i]-t1)/(t0-t1);
b[i]=a[i];
}
cha=1;
while(cha>0.0001)
{
a[0]=1;
for(i=1;i<N;i++)
a[i]=(a[i+1]+a[i-1])/(2+m*m*x*x);
a[N-1]=a[N-2];
cha=0;
for(i=0;i<N;i++)
cha=cha+a[i]-b[i];
cha=cha/N;
}
for(i=0;i<N;i++)
t[i]=a[i]*(t0-t1)+t1;
printf("\n\n经数值离散计算得肋片温度分布:\n");
for(i=0;i<N;i++)
printf("%4.2f\t",t[i]);
printf("\n\n");
getchar();
for(i=0;i<N;i++)
a[i]=b[i];
cha=1;
while(cha>0.0001)
{
a[0]=1;
for(i=1;i<N;i++)
a[i]=(a[i+1]+a[i-1])/(2+m*m*x*x);
a[N-1]=a[N-2]/(1+0.5*m*m*x*x);
cha=0;
for(i=0;i<N;i++)
cha=cha+a[i]-b[i];
cha=cha/N;
}
for(i=0;i<N;i++)
t[i]=a[i]*(t0-t1)+t1;
printf("\n\n经数值离散计算得肋片的温度分布:\n");
for(i=0;i<N;i++)
printf("%4.2f\t",t[i]);
printf("\n\n");
getchar();
}