求组,检测没有问题,但是一直运行输入数据之后就出现错误
#include <stdio.h>#include <math.h>
#define M 20
double f(double x,double y);
void main()
{
double h,x,y,x0;y0;
int N,i;
printf("请输入步长h和要计算的函数值个数N:");
scanf("%f %f",&h,&N);
printf("请输入函数初值点(x0,y0):");
scanf("%f %f",&x0,&y0);
double Y0[M],Y1[M],Y2[M];
for(i=0;i<=1;i=i+0.1);
{
x=i;
y=sqrt(2*x+1);
Y0[i*10]=y;
}
int j;
x=x0; //欧拉法
Y1[0]=1;
for(j=1;j<N;j++)
{ Y1[j]=Y1[j-1]+h*f(x,Y1[j-1]);
x+=h;
}
x=x0;
Y2[0]=1; //改进欧拉法
double p=0,c=0;
for(j=1;j<N;j++)
{
p=Y2[j-1]+h*f(x,Y2[j-1]);
x+=h;
c=Y2[j-1]+h*f(x,p);
Y2[j]=(p+c)/2;
}
printf("基点 欧拉法 改进的欧拉法 准确解");
for(i=0;i<N+1;i++)
printf("%-4f-10.6f%-10.6f%-10.6f",x0+i*h,Y1[i],Y2[i],Y0[i]);
}
double f(double x,double y)
{
return y-2*x/y;
}