我写了以下代码。 它基本上输入5个变量(a,b,c,f_a,f_b) 并计算f_c = f_a +(f_b-f_a)*(c-a)/(b-a)
在main函数中,我声明并扫描所有变量, 然后我计算X,它等于f_c。
问题是如何将X的计算移动到第二个函数calculateFreezingTemp。
我尝试用5个变量创建一个函数f_c,失败了。
double calculateFreezingTemp(double);
int main(void)
{double a, f_a, b, f_b, c, f_c, x;
printf("Please enter the data point A\n");
scanf("%lf %lf", &a, &f_a);
printf("Please enter the data point B\n");
scanf("%lf %lf", &b, &f_b);
printf("Please enter the salinity value between %f and %f\n", a, b);
scanf("%lf", &c);
x = f_a + ((c-a)/(b-a))*(f_b-f_a);
f_c = calculateFreezingTemp(x);
printf("For salinity %f ppt, Freezing Temperature is: %f\t",c, f_c);}
double calculateFreezingTemp(double x)
{double f_c;
f_c=x;
return(f_c);
}
答案 0 :(得分:0)
您可以将输入变量传递给'calculateFreezingTemp'函数:
f_c = calculateFreezingTemp(a, b, c, f_a, f_b)
并将计算移动到函数中:
double calculateFreezingTemp(double a, double b, double c, double f_a, double f_b)
{
return f_a + (f_b-f_a)*(c-a)/(b-a);
}