一楼的也没看清楚啊!!
楼主:这些编码中的scanf("%f",t);这一句中少了一个"&"啊!!
加上就应该没问题了..
当然如一楼所说的!要养成初始化的好习惯啊.有时候的某些错误就出现在没有对数据的初始化!!
顺便说一下,最好在输入完t值后,加一个对t是否等于0的判断.以免出现除以0的错误!
d没初始化,当a不等于0也不大于0时,d就没结果,最后就会出错吧,不知道对不对。仅供参考~
基础没打好,跟我学保证没问题 QQ497090294 邮件wuchufan@qq.com
整个就没有容错处理……应该把容错加进去。
# define G getchar(); getchar();
# include
int main()
{
float v0,vt,a,s,t,; /*v0代表初始速度,vt代表最终速度,a为加速度,s为路程,其单位为(s/m)*/
printf("v0=");
scanf("%f",&v0);
printf("vt=");
scanf("%f",&vt);
printf("t=");
scanf("%f",&t);
a=(vt-v0)/t;
if(a==0)
{
s=vt*t;
printf("此为匀速运动,加速度为%f\n",a);
}
else if(a>0)
{
s=v0*t+(a*t*t)/2;
printf("此为加速运动,加速度为%f\n",a);
}
else
{
s=v0*t+(a*t*t)/2;
printf("此为减速运动,加速度为%f\n",a);
}
printf("路程为%f\n",s);
G
}
我这套程序可行,你可以对照着修改