代码如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
int main()
{
int i,j;
float x[] ={0.0,3.0,1.0,5.0,4.0,2.0};
float y[] ={0.0,68.0,20.0,110.0,77.0,60.0};
float tmp,xn,yn;
//排序从小到大排序
for (i=0;i<5;i++)
{
for (j=0;j<5-i;j++)
{
if(x[j] > x[j+1])
{
tmp = x[j];
x[j] = x[j+1];
x[j+1] = tmp;
tmp = y[j];
y[j]=y[j+1];
y[j+1] = tmp;
}
}
}
printf("输入x:");
scanf("%f",&xn);
if(xn < x[0])
{
yn = y[0] - (y[1]-y[0])/(x[1]-x[0]) * (x[0]-xn);
}else if (xn > x[5])
{
yn = y[5] + (y[5]-y[4])/(x[5]-x[4]) * (xn - x[5]);
}else
{
for (i=0;i<6;i++)
{
if(xn < x[i])
break;
}
yn = y[i-1] + (y[i]-y[i-1])/(x[i]-x[i-1]) * (xn - x[i-1]);
}
printf("y = %.1f\n",yn);
return 0;
}