自由侠和自由光:C语言 难题 急 在线等 送50~100积分===

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/06 02:41:36
这是一个程序,并不难,是一个迭代求解的问题
输入部分写好了,输入的依次是
0.0001
101.325
0.0145
6.05543 1115.5 231.0
0.3090
6.09036 1296.4 221.0
0.6765
6.9853 1879.8 273.2
70.0

后运行的结果是 溢出……
程序如下:

#include<stdio.h>
#include<math.h>
#define M 2
main()
{
int i,j,k;
float L,P,A[M+1][4],K[M+1],t,S=0,F,E=0,T[50];

printf("input : jing du\n");
scanf("%f",&L);
printf("input : zhong ya li\n");
scanf("%f",&P);

for(i=0;i<M+1;i++)
{printf("input : %d zhu feng de liang\n",i);
scanf("%f",&A[i][0]);
printf("input :%d zhu feng de A B C\n",i);
scanf("%f %f %f",&A[i][1],&A[i][2],&A[i][3]);
}

printf("input : chu shi t\n");
scanf("%f",&t);
j=0; T[0]=t;

for(k=0;k<50;k++)
{
j=j+1;

for(i=0;i<M+1;i++)
K[i]=(1/P)*pow10(A[i][1]-A[i][2]/(T[j-1]+A[i][3]));

for(i=0;i<M+1;i++)
{S=K[i]*A[i][0]+S;
E=(K[i]*A[i][0]*A[i][2])/(pow((T[j-1]+A[i][3]),2))+E;

}

F=(S-1)/E;
T[j]=T[j-1]-F;
if(fabs(T[j]-T[j-1])<L)

break;
}
printf("temperature=%f\n",T[j]);
}
望有高手指点了……

是不是数据类型在做遂,
使用双精度型!

T[]数组没初始化,先把所有元素置0看看怎样?