Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 显示输出失真_C - Fatal编程技术网

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

我已经编写了下面的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 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;
没问题,如果正确请不要忘记。没问题,如果正确请不要忘记。