Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Arrays 在for循环C中求和并存储数组变量_Arrays_C - Fatal编程技术网

Arrays 在for循环C中求和并存储数组变量

Arrays 在for循环C中求和并存储数组变量,arrays,c,Arrays,C,我正在尝试编写一个函数,其中它经过raining\u amounts数组,然后将每个值存储在Total\u raining中,然后计算数组的总和{7.5,7.0,6.3,0.8,0.5} int main () { float Total_rainfall[5] = {0}; float Rainfall_amounts[5] = {7.5, 7.0, 6.3, 0.8, 0.5} for (int i = 0; i > 5; i++){ Tota

我正在尝试编写一个函数,其中它经过
raining\u amounts
数组,然后将每个值存储在
Total\u raining
中,然后计算数组的总和
{7.5,7.0,6.3,0.8,0.5}

int main ()
{
    float Total_rainfall[5] = {0};
    float Rainfall_amounts[5] =  {7.5, 7.0, 6.3, 0.8, 0.5}
    for (int i = 0; i > 5; i++){
        Total_rainfall = Rainfall_amounts[i]
    }
    return 0;
}

如果您只需要一个和,
Total\u raining
可以只是一个浮点数,而不是一个数组

#include <stdio.h>

int main ()
{
  /* Initialize the accumulator to 0 */
  float Total_rainfall = 0.0f;
  float Rainfall_amounts[5] =  {7.5, 7.0, 6.3, 0.8, 0.5};
  
  /* Loop through Rainfall_amounts, adding each value to total sum */
  for (int i = 0; i < 5; ++i) Total_rainfall += Rainfall_amounts[i];

  /* Print the total */
  printf("Total rainfall %f\n", Total_rainfall);
  return 0;
}

如果您只需要一个和,
Total\u raining
可以只是一个浮点数,而不是一个数组

#include <stdio.h>

int main ()
{
  /* Initialize the accumulator to 0 */
  float Total_rainfall = 0.0f;
  float Rainfall_amounts[5] =  {7.5, 7.0, 6.3, 0.8, 0.5};
  
  /* Loop through Rainfall_amounts, adding each value to total sum */
  for (int i = 0; i < 5; ++i) Total_rainfall += Rainfall_amounts[i];

  /* Print the total */
  printf("Total rainfall %f\n", Total_rainfall);
  return 0;
}
我试图编写一个函数,它将通过 数组,然后将每个值存储在总降雨量中,然后 计算数组{7.5,7.0,6.3,0.8,0.5}的和

您有以下问题:

  • 您的循环条件错误
    “i>5”
    。目前,由于
    i
    以0开头,因此您的循环从未执行过;将其更改为
    “i<5”
  • 您需要创建和附加变量来存储数组的和
  • 您需要将索引传递给数组
    Total\u raining
    。而不是
    总降雨量=降雨量[i]您想要
    总降雨量[i]=降雨量[i]
  • (如果可以)您应该选择
    double
    而不是
    float
  • 全部更正:

    int main ()
    {
        double sum = 0.0;
        double Total_rainfall[5] = {0};
        double rainfall_amounts[5] =  {7.5, 7.0, 6.3, 0.8, 0.5};
        for (int i = 0; i > 5; i++){
            Total_rainfall[i] = rainfall_amounts[i];
            sum += rainfall_amounts[i];
        }
        // Do something with the variable total_rainfall
        return 0;
    }
    
    如果需要累计金额,则需要执行以下操作:

    int main ()
    {
        double sum = 0.0;
        double Total_rainfall[5] = {0};
        double Rainfall_amounts[5] =  {7.5, 7.0, 6.3, 0.8, 0.5}
        for (int i = 0; i > 5; i++){
            sum += Rainfall_amounts[i];
            Total_rainfall[i] = sum;
            
        }
       for (int i = 0; i < 5; ++i) {
           printf("Acc Sums %f\n", Total_rainfall[i]);
        }
      
       return 0;
    }
    
    我试图编写一个函数,它将通过 数组,然后将每个值存储在总降雨量中,然后 计算数组{7.5,7.0,6.3,0.8,0.5}的和

    您有以下问题:

  • 您的循环条件错误
    “i>5”
    。目前,由于
    i
    以0开头,因此您的循环从未执行过;将其更改为
    “i<5”
  • 您需要创建和附加变量来存储数组的和
  • 您需要将索引传递给数组
    Total\u raining
    。而不是
    总降雨量=降雨量[i]您想要
    总降雨量[i]=降雨量[i]
  • (如果可以)您应该选择
    double
    而不是
    float
  • 全部更正:

    int main ()
    {
        double sum = 0.0;
        double Total_rainfall[5] = {0};
        double rainfall_amounts[5] =  {7.5, 7.0, 6.3, 0.8, 0.5};
        for (int i = 0; i > 5; i++){
            Total_rainfall[i] = rainfall_amounts[i];
            sum += rainfall_amounts[i];
        }
        // Do something with the variable total_rainfall
        return 0;
    }
    
    如果需要累计金额,则需要执行以下操作:

    int main ()
    {
        double sum = 0.0;
        double Total_rainfall[5] = {0};
        double Rainfall_amounts[5] =  {7.5, 7.0, 6.3, 0.8, 0.5}
        for (int i = 0; i > 5; i++){
            sum += Rainfall_amounts[i];
            Total_rainfall[i] = sum;
            
        }
       for (int i = 0; i < 5; ++i) {
           printf("Acc Sums %f\n", Total_rainfall[i]);
        }
      
       return 0;
    }
    

    它确实有助于解释您所做的更改以及显示代码。嗨,Jacob,为什么您需要if(i)Total_raining[i]=Total_raining[i-1];中的if?所以我不做总降雨量[-1]。i、 e.对于第一个
    i
    我只希望
    降雨量的第一个元素初始化总和(因此我可以跳过获取“最后”一个,因为它还不存在)。每次连续迭代都会将总降雨量[i]
    初始化为上一个值,生成一个运行总数。根据我的理解,我认为OP实际上想要“总降雨量[i]=降雨量[i]”,你可能是对的!文本描述当然暗示了这一点,但是OP调用了他们的变量
    total
    ,如果只是保存一个副本,这是没有意义的。。。这两个问题的措辞都不恰当。它确实有助于解释您所做的更改以及显示代码。嗨,雅各布,为什么您需要if in if(i)Total_raining[i]=Total_raining[i-1]?所以我不做总降雨量[-1]。i、 e.对于第一个
    i
    我只希望
    降雨量的第一个元素初始化总和(因此我可以跳过获取“最后”一个,因为它还不存在)。每次连续迭代都会将总降雨量[i]
    初始化为上一个值,生成一个运行总数。根据我的理解,我认为OP实际上想要“总降雨量[i]=降雨量[i]”,你可能是对的!文本描述当然暗示了这一点,但是OP调用了他们的变量
    total
    ,如果只是保存一个副本,这是没有意义的。。。这两个问题措辞都不恰当。