【C语言求助】编写的函数总是出现 error C2106: '=' : left operand must be l-value

来源:百度知道 编辑:UC知道 时间:2024/06/09 03:34:30
程序中的一个函数如下:

任务:需要定义一个函数k=f(T),T为温度,已知条件为部分温度的k已知,如下程序中所写的f(20)=60,表示20度时k为60,我的程序要求能构利用差值法算出没有给出的温度点的k值。
例如:已知100、200度时的k值,我需要利用函数求得150度时的k,差值法的方程如程序中所写。

现在我碰到的问题是在利用c去定义这些已知温度点对应k值时,这样的定义方式不正确,不能直接写成f(20)=60这样的形式。

哪位麻烦出个主意,让我能够在这个函数中能构正确定义这些已知量,非常感谢!!!

float f(float T)
{float k;
f(20)=60,f(100)=55,f(200)=51,f(300)=46,f(400)=41,f(500)=37;
f(600)=34,f(700)=30,f(800)=28,f(900)=28,f(1000)=28,f(1100)=27;
f(1200)=27,f(1300)=27;

//定义各点温度为数组量a,题目已经给出

float a[14]={20,100,200,300,400,500,600,700,800,900,1000,1100,1200,1300};

for(int i=0;i<14;i++)
{if(T==a[i])
{k=f(T);}
if(T<a[i])
{k=(f(a[i])-f(a[i-1]))*(T-a[i-1])/(a[i]-a[i-1])+f(a[i-1]);}
}
return k;
}
接上面
else if(i==25)
{A[25]=(f(T[24])+f(T[25]))/(2*h);
B[25]=-(f(T[24])+f(T[25]))/(2*h)-250-p*g(T[25])*h*T[25]/(2*t);
C[25]=0;
F[25]=-

float a[14]={20,100,200,300,400,500,600,700,800,900,1000,1100,1200,1300};
float b[14]={60,55,51,等等};

or(int i=0;i<14;i++)
{if(T==a[i])
{k=b[i];}
if(T<a[i])
{k=(f(a[i])-f(a[i-1]))*(T-a[i-1])/(a[i]-a[i-1])+f(a[i-1]);}
}
return k;
}

fgets(line,sizeof(line),pf);//这个读到第二行。