📄 yangtiao.c
字号:
#include <stdio.h>
chashang(float x[],float y[],int n)
{int i,j;
for(i=1;i<n;i++)
for(j=n-1;j>=i;j--)
y[i]=(y[i]-y[i-1])/(x[j]-x[j-1]);
}
main()
{float x[20],y[20];
float M[20],h[20],d[20],u[20],r[20];
float a,b;
int i,j,n,type;
printf("请输入点的个数:");
scanf("%d",&n);
printf("\n");
printf("请输入各个点的x,y值:\n");
for(i=0;i<n;i++)
scanf("%f,%f",&x[i],&y[i]);
for(i=0;i<n;i++)
h[i]=x[i+1]-x[i];
printf("请输入边界问题类别:type=:");
scanf("%d",&type);
if(type==1)
{ printf("请输入y'0,y'n:");
scanf("%f,y'%f",&a,&b);
printf("\n");
r[0]=u[n-1]=1;
}
else
if(type==2)
{
printf("请输入y''0,y''n:");
scanf("%f,%f",&a,&b);
printf("\n");
r[0]=u[n-1]=0;
}
for(i=1;i<n-1;i++)
u[i]=1-r[i];
chashang(x,y,n);
if(type==1)
{ d[0]=6*(y[1]-a)/h[0];
d[n-2]=6*(b-y[n-1])/h[n-1];
for(i=1;i<n-2;i++)
d[i]=6*y[i+1];
}
else
if(type==2)
{
d[0]=2*a;
d[n-1]=2*b;
}
for(i=0;i<n-1;i++)
printf("%f ",d[i]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -