-3

我的任务是获取两个浮动数据的一维数组,逐个元素地添加它们以创建第三个数组。我必须将它们专门传递给函数 addfloat 来完成此操作,然后将其传递回主程序进行显示。

我遇到困难的地方是如何存储/引用 ??? =数组1+数组2。如何在主函数中引用新创建的第三个数组?

是的,这是我正在上的一门课程。我的在线讲师对我理解这个概念没有帮助。他只是一直告诉我提交我所拥有的。

#include <stdio.h>

void addfloat(float [],float []);

int main ()
{
float SLG [10] = {.508,.504,.473,.415,.407,.379,.388,.340,.405,.278};
float OBP [10] = {.434,.327,.425,.342,.314,.270,.328,.348,.327,.306};
float OPS [10];
int j,k,g,n;


addfloat (SLG,OBP);

printf("Their Slugging Percentages (SLG) are:\n");
        for (j=0; j<10; j++)
        {
                printf("%.3f, ",SLG[j]);
        }

    printf("\n");
    printf("Their On Base Percentages (OBP) are:\n");
        for (k=0; k<10; k++)
            {
                printf("%.3f, ",OBP[k]);
            }
    /*Place work-around back in here if necessary where I just add the two arrays without     passing it out*/

    printf("\n");
    printf("Their Slugging Percentage (OPS) are:\n");
        for (g=0; g<10; g++)
            {
                printf("%1.3f, ", OPS[g]);
            }
    return 0;
}

void addfloat (float SLG[],float OBP[])
    {
        float OPS [10];
        int i;

        for (i=0; i<10; i++)
        {
            OPS[i] = SLG[i]+OBP[i];
        }
return (OPS[]); 
    }
4

1 回答 1

0

我的理解是数组只是指向数组中第一条数据的指针。

错了,数组就是数组,指针就是指针,它们不一样。读这个。

如何在主函数中引用新创建的第三个数组?

返回一个动态分配的新数组?将第三个参数传递给函数?这么多方法。例如:

void add_floats(const float a[], const float b[], float y[], size_t n)
{
    for (size_t i = 0; i < n; i++)
        y[i] = a[i] + b[i];
}

像这样称呼它:

#define COUNT 3

float first[COUNT] = { 1, 2, 3 };
float second[COUNT] = { 4, 5, 6 };
float result[COUNT];

add_floats(first, second, result, COUNT);
于 2013-07-25T20:51:06.220 回答