C 数组和循环

C 数组和循环,c,C,我有一个包含100个元素的数组。有谁能帮我找出如何编写执行此操作的循环: data[0] = 1/(2*3*4) data[1] = 1/(4*5*6) data[2] = 1/(6*7*8) ... data[99] = 1/(200*201*202) data[0]-data[1]+data[2]-data[3]+data[4]-data[5]+...+data[98]-data[99] 我就是不明白怎么开始。如有任何建议,将不胜感激 我的建议如何开始,如果你真的想要,并且想自己管理:

我有一个包含100个元素的数组。有谁能帮我找出如何编写执行此操作的循环:

data[0] = 1/(2*3*4)
data[1] = 1/(4*5*6)
data[2] = 1/(6*7*8)
...
data[99] = 1/(200*201*202)


data[0]-data[1]+data[2]-data[3]+data[4]-data[5]+...+data[98]-data[99]

我就是不明白怎么开始。如有任何建议,将不胜感激

我的建议如何开始,如果你真的想要,并且想自己管理:

  • 概括您的算法:
  • 查找函数
    f(x)
    ,使
    data[i]=f(i)
  • 只需用你的母语编写算法
  • 然后学习C语言的基本运算符,包括循环构造
  • 用C语言编写“本地语言算法”
  • 仅在一个循环中:

    int total = 0;
    for(size_t i=0; i<100; ++i){
      int temp = (i+1)*2;
      data[i] = 1/(temp*(temp+1)*(temp+2));
      total = total + (i%2==0?data[i]:-data[i]);
    }
    
    int-total=0;
    对于(size_t i=0;i试试这个

    double c=0;
    for (int i=0;i<100;i++)
    {
     c=i*2+2;
     data[i]=1/(c*(c+1)*(c+2));
    }
    for (int i = 0; i < 100; i+=2)
    {
      op+= data[i] - data[i+1];
    }
    
    double c=0;
    
    对于(int i=0;i查看函数…然后尝试像data[i]=operation(j)这样的操作,其中operation是一个返回1/((j)*(j+1)*(j+2))的函数,然后递增j和i。很好!但是由于运算符的优先级,在ternery
    表达式周围需要括号。现在它将被解释为:
    total=(total+i%2==0)?data[i]:-data[i]
    。因此,添加如下括号:
    total=total+(i%2==0?data[i]:-data[i]);
    @KlasLindbäck没错-谢谢。我据此编辑了它。谢谢你的这篇文章!特别是这篇文章让我的程序运行正常!