#include "stdafx.h"
float v,p,m,i;
float a[2000],t,c,b,d,y1,y2,y3,y4; //全局变量
void main()
{
printf("请分别输入V0,P,m的值");
scanf("%d%d%d",&v,&p,&m);
printf("请输入dt的值");
scanf("%f",&t);
printf("请分别输入C,ρ,A的值");
scanf("%f%f%f",&c,&d,&b);
float f(float e ); //子函数声明
a[0]=v;
for(i=0;i<200/t;i++)
{
y1=f(a[i]); //调用子函数过程时a[i]不变
y2=a[i]+0.5*f(y1)*t;
y3=a[i]+0.5*f(y2)*t;
y4=a[i]+f(y3)*t;
a[i+1]=a[i]+(y1+2*y2+2*y3+y4)*t/6;
}
for(i=0;i<200/t;i++)
{
printf("%f\n",a[i]);
}
}
float f(float e) //子函数用来计算导数 ,返回导数值(传递参量)
{
f=0;
f=p/(m*e)-c*d*b*e*e/m;
return f;
}
语法上修改好的,可以编译运行的
一周热门 更多>