您如何将数据从for循环存储到变量中以进行其他计算?

RTriplett

我正在尝试将我的总和存储到一个变量中,以将这些年之间的百分比相加。现在,我对如何执行此操作感到困惑。我搜索了答案并尝试了一些方法,但是还没有运气。我想知道是否有人可以向我指出正确的方向来解决这个问题。我一直在获取内存位置而不是值。我是一名大学生,所以请多多包涵。任何帮助将不胜感激。这是我要检查的代码。

#define years 4
#define months 12
int main(void)
{
    float percentage [4];
    int i = 0, j = 0, n = 0, sum = 0;
    int time[] = {    2012,2013,2014,2015};
    int *value[years];
    const char* name[]= {"  JAN ", "FEB ", "MAR ", "APR ", "MAY ", "JUN ", "JUL  ","AUG ","SEP ","OCT ","NOV ","DEC "};
    int range[years][months] = {

        { 5626, 5629, 5626, 5606, 5622, 5633, 5647, 5656, 5673, 5682, 5728, 5728},
        { 5741, 5793, 5814, 5811, 5831, 5854, 5857, 5874, 5900, 5923, 5954, 5939},
        { 5999, 6020, 6062, 6103, 6115, 6128, 6169, 6194, 6219, 6233, 6256, 6301},
        { 6351, 6378, 6371, 6409, 6426, 6426, 6437, 6441, 6451, 6484, 6549, 6597}
    };

    printf(" YEAR  %s %s %s %s %s %s %s %s %s %s %s %s\n", name[0], name[1], name[2], name[3], name[4], name[5], name[6],name[7],name[8],name[9],name[10],name[11]);
    /* for(n=0; n < name; n++)
           printf("%s", name[n]); // code keeps crashing my program
    */
    for (i = 0; i < years; i++) {
        printf(" %i    ", time[i]);
        for (j = 0; j < months; j++)
            printf("%2i ", range[i][j]);
            printf("\n");

    }

    for (i = 0; i < years; i++) {
        for(j = 0, sum = 0; j < months; j++)
            sum += range[i][j];
            printf("\n This is the sum of months for %i: %i", time[i], sum);


    }
    for (i = 0; i < years; i++) {
        for(j = 0, sum = 0; j < months; j++)
            value[years] = sum;
            printf("\n%i", value);
    }

    return 0;

}
萨胡

更改value为的数组int使其value成为指针数组没有任何意义

int value[years]; // Drop the *

您可以使用以下框来计算每年的总和。

for (i = 0; i < years; i++) {
    for(j = 0, sum = 0; j < months; j++)
        sum += range[i][j];
        printf("\n This is the sum of months for %i: %i", time[i], sum);
}

但是,总和不会被存储。每年都会被覆盖。

您需要做的是将总和保存在中value用:

for (i = 0; i < years; i++)
{
   value[i] = 0;
   for(j = 0, sum = 0; j < months; j++)
   {
      value[i] += range[i][j];
   }
   printf("\n This is the sum of months for %i: %i", time[i], value[i]);
}

之后,您根本不需要最后一个循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将值存储在循环内的变量中并在其他循环中运行

您如何将整数存储到变量中并在Java中进行computeAvg?

如何将Hibernate Envers审核表存储到其他数据库中?

Javascript - 如何将 for 循环的结果存储到变量中?

如何将For循环结果存储到XSLT变量中

如何将结果从for循环存储到数据框中

如何将数据存储到变量中。?

汇编:如何将数据存储到变量中

如何将数据从订阅存储/设置到外部变量并从 Angular 7 中的其他类再次读取它

如何将变量从循环存储到文件

如何将存储在char数组中的int转换为int变量以进行计算?

如何将变量从 React 中的处理程序传递到其他代码区域?

如何将grep输出存储到循环内的变量中?

如何将数据从ViewPagerAdapter传递到其他活动

如何将数据从 Spinner 传递到其他活动?

如何将数据插入到其他列中没有NULL的特定列中?

如何将JavaScript变量存储到PHP变量中?

如何将数据存储在存储在变量中的数组中?

如何将MySQL数据库中的值存储到变量中?

如何将多维数组中的特定数据存储到变量中

如何将 fetch API 请求中的 json 数据存储到全局变量中 - javascript

如何将提取数据与从其他提取中调用的图像进行匹配?

如何将数据传递给angularjs中的其他范围变量?

如何将数据从组件传递到VueJS中的其他路由

如何将 foreach 循环数据存储到另一个模型中?

Laravel如何将变量存储到数据库中并在每次单击时更新

如何将列出的值从数据库存储到Anylogic 8.7.1中的变量?

如何将特定值从数据帧存储到R中的变量?

如何将每个循环值存储在不同的变量中