c - 如何使输入值(来自 print,scan 语句)成为循环生成的 vector 的第一个值?

标签 c for-loop

我正在用 C 语言编写一个程序,该程序使用近似值对跳伞者随时间变化的速度进行建模。这是针对初学者的编程类(class),我需要一些帮助。

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void main()
{
int i,j,h;
float v[11];
float t[11];
float c,m;

printf("enter initial time\n");
scanf("%f",&v[0]);
printf("enter inital velocity\n");
scanf("%f",&t[0]);
printf("enter drag coefficent\n");
scanf("%f",&c);
printf("enter mass\n");
scanf("%f",&m);

for (i=0;i<10;i++)
{
v[i+1]=(v[i]+(32-(c*v[i]*v[i])/m)*(h));
h=((t[i]+1)-t[i]);
t[i+1]=(t[i]+1);
}

for (j=0;j<10;j++)
    {
        printf("%f %f\n",t[j],v[j]);
    }
}

我想这样做,这样我就可以输入初始速度,以便当 i=0 时它被读取为“v”并且 当 i=0 时读取为“t”的初始时间。 “v”和“t”的其余值我想来 self 的循环方程。然后我希望将它们打印出来,以便我可以绘制数据图表。

当我按照上面的方式运行它时,我收到以下错误消息,

para.c:8:12: error: ‘v’ undeclared (first use in this function)
 (double *) v[11];
        ^
para.c:8:12: note: each undeclared identifier is reported only once for each function it appears in
para.c:9:12: error: ‘t’ undeclared (first use in this function)
 (double *) t[11];

如果有任何帮助,我将不胜感激。谢谢

最佳答案

   int i,j,h;
   (double *) v[11];
   (double *) t[11];
   (double *) c,m;

应声明为

   int i,j,h;
   double v[11];
   double t[11];
   double c,m;

由于您没有使用指向 double 的指针数组,因此您正在使用 double 数组!

<小时/>

下一个计算机问题将是v(i)访问您的阵列。由 v[i] 完成。

<小时/>

下一个逻辑问题是 for(...) 循环:

   for (i=0;i=10;) 

for 定义为 for(初始化; 循环条件; 循环增量) 你的循环条件"i=10"将始终评估为“true”,因为您正在分配 i!你需要说“i == 10”,或者更好“i < 11”。 接下来你没有定义循环增量,导致无限循环的第二个原因! 在每次迭代时增加循环计数器,因此它确实会计算迭代次数! 结果是:

   for (i=0; i < 10; i++)
<小时/>

下一个逻辑问题是“for”之后和“{” block 之前的分号。 这意味着,您的循环将遍历“;”,完成后,它将执行“{”的主体一次,

<小时/>

接下来,您不会清理您的输入。如果您输入权重“0.0”,则除以零,从而杀死您的程序。

<小时/>

最后,您不应该从用户读取元素 v[1] 和 t[1],而是读取 v[0] 和 t[0]。 你的方法会起作用 - 但我不会给你所需的结果(你将在第一个循环中用垃圾覆盖它)

此致,

约翰内斯

关于c - 如何使输入值(来自 print,scan 语句)成为循环生成的 vector 的第一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23279417/

相关文章:

c - 为什么第二个循环没有初始化?为什么它打印五颗星?

c - 泊松计算(erlang C)

c - 为什么通过 cmd 运行可执行文件不会调用 system() 调用?

c - 跳入循环

postgresql - postgres9.4 循环通过 jsonb : how select vals of key:val pairs

python - 有没有办法改变for循环的迭代器?

c - 当函数的返回类型不允许我这样做时,如何在 C 中返回错误代码?

c - 不同内存寻址方案的 C 代码的可移植性

for-loop - 批处理,如何执行存储在变量或txt文件中的代码?

javascript - for 循环与求和运算有多相似?示例包括