C 显示输出失真
我已经编写了下面的C程序。它运行无错误,但显示失真,即输出图表超过时间变量的上限值,也显示不是从下限开始,而是从下限+步长开始C 显示输出失真,c,C,我已经编写了下面的C程序。它运行无错误,但显示失真,即输出图表超过时间变量的上限值,也显示不是从下限开始,而是从下限+步长开始 #include <stdio.h> main() { float Time, Distance, step, upper, lower, Accln, Iv; Iv = 1.50; Accln = 2.0; lower = 0; upper = 4; step = 0.5; printf("Distance Time char
#include <stdio.h>
main()
{
float Time, Distance, step, upper, lower, Accln, Iv;
Iv = 1.50;
Accln = 2.0;
lower = 0;
upper = 4;
step = 0.5;
printf("Distance Time chart for constant Acceleration %3.1f units per sec per sec and initial velocity %3.2f units per sec\n", Accln, Iv);
Time = lower;
while(Time<=upper)
{
(Distance=Iv*Time+(1.0 / 2.0) * Accln * Time * Time);
Time = Time + step;
printf("%3.1f \t\t%3.4f\n",Time, Distance);
}
}
#包括
main()
{
浮动时间、距离、步长、上、下、Accln、Iv;
Iv=1.50;
Accln=2.0;
下限=0;
上限=4;
阶跃=0.5;
printf(“恒定加速度%3.1f单位/秒/秒和初始速度%3.2f单位/秒的距离-时间图表”,Accln,Iv);
时间=较低;
而(时间您正在打印总和后的值
尝试这样切换语句:
printf("%3.1f \t\t%3.4f\n",Time, Distance);
Time = Time + step;
另外,main()
应该有一个返回类型:
int main(){…}
您正在打印总和之后的值
尝试这样切换语句:
printf("%3.1f \t\t%3.4f\n",Time, Distance);
Time = Time + step;
另外,main()
应该有一个返回类型:
int main(){…}
我希望很明显,为什么显示开始于lower+step关于:main()
这在70年代可能是可以接受的,但是,今天它需要:int main(void)
关于:Accln=2.0;
变量Accln
声明为float
,因此它应该用float
初始化,而不是double
。建议:Accln=2.0f;
注意尾随的f
关于:lower=0;
和upper=4;
这些变量声明为float
,因此它们不应该用int
初始化。建议:lower=0.0f;
和upper=4.0f;
我希望很明显为什么显示从lower+step开始关于:main()
这在70年代可能是可以接受的,但是,今天它需要是:int-main(无效)
关于:Accln=2.0;
变量Accln
声明为float
,因此它应该用float
初始化,而不是double
。建议:Accln=2.0f;
注意尾随的f
关于:lower=0;
和upper=4;
这些变量声明为float
,因此不应使用int
初始化。建议:lower=0.0f;
和upper=4.0f;
没问题,如果正确请不要忘记。没问题,如果正确请不要忘记。