这是我用了两天的时间写下的我的第一个程序
用来输出差商五阶差商表,并计算用户所输入数据的四阶差商
#include <stdio.h>
int main()
{
int i,j; //定义整型变量
float k; //定义用户要计算的浮点型变量k
double N; //对用户得出的近似值N进行声明
static double chashang[5][5]; //定义差商表数组
double x[6] = {0.40,0.55,0.65,0.80,0.90,1.05}; //定义自变量数组x[],并对之初始化
double y[6] = {0.41075,0.57815,0.69675,0.88811,1.02652,1.25382}; //定义因变量数组y[],并对之初始化
for(i = 1 ; i <= 5 ; i++)
{
chashang[i][1] = (y[i] - y[i-1]) / (x[i] - x[i-1]); //求一阶差商
}
for(i = 1 ; i <= 4 ; i++)
{
for(j = i+1 ; j <= 5 ; j++)
{
chashang[j][i+1] = (chashang[j][i] - chashang[j-1][i]) / (x[j] - x[j-i-1]); //求二至五阶差商
}
}
for(i = 1 ; i <= 5 ; i++) //输出差商表
{
for(j = 1 ; j <= i ; j++)
{
printf(" %.5f ",chashang[i][j]);
if (i == j)
{
printf("/n");
}
}
}
printf("/nplease input the number you want to account :/n");
scanf("%f",&k); //输入用户需要计算的数据
N = y[0] + chashang[1][1] * (k - x[0]) + chashang[2][2] * (k - x[0]) * (k - x[1]) + chashang[3][3] * (k - x[0]) * (k - x[1]) * (k - x[2]) + chashang[4][4] * (k - x[0]) * (k - x[1]) * (k - x[2]) * (k - x[3]) + chashang[5][5] * (k - x[0]) * (k - x[1]) * (k - x[1]) * (k - x[2]) * (k - x[3]) * (k - x[4]);
printf("%.5f",N);
getchar();
getchar();
}