关于c语言的两数组相加问题

关于c语言的两数组相加问题,第1张


    Note: 有三个数组,数组a=1,2,3,4,5数组b要求自己输入
          将数组a和b的各对应元素分别相加得到数组c,输
          出数组c的各元素 
/
#include <stdioh>
int main(void)
{
    int a[5] = {1,2,3,4,5}; //定义a数组 并赋值
    int b[5] = {0};  //定义b数组,初始化为0
    int c[5] = {0};  //定义c数组,初始化为0
    int i;
    printf("Input Array C\n");
    for (i = 0; i < 5; i++)
    {
        scanf("%d", &b[i]); //输入数组b的值
        c[i] = a[i] + b[i]; //两个数组相加并赋值给c数组
        
        if (i == 0)
        {
            printf("The result array:\n");
        }
        printf("%d ", c[i]); //打印数组c
    }
    printf("\n"); //换行
    return 0;
}

遍历数组,累加到和值对应的变量上即可。

代码如下:

int sum(int a, int l)//对数组a的前l个元素求和,并返回和值。
{
    int r = 0;
    int i;
    for(i=0;i<l;++i)
        r+=a[i];
    return r;
}

通过concat方法进行数组合并
var mergeTo = [4,5,6],mergeFrom = [7,8,9]; //定义2个要合并的数组mergeTo和mergeFrommergeTo = mergeToconcat(mergeFrom); //mergeTo的结果是[4, 5, 6, 7, 8, 9]
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法
arrayObjectconcat(arrayX,arrayX,,arrayX)
参数
描述
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() *** 作的参数是数组,那么添加的是数组中的元素,而不是数组。

先获取数组长度,然后用for循环,从数组中获取值进行累加求和。

#include

#include

int main()

{

int n;

int val;

int a;

int sun = 0, i;

printf("请输入数组的长度:");

scanf("%d", &n);

printf("\n");

a = (int )malloc(n sizeof(int));//为数组a动态分配内存

for(i = 0; i < n; i++)

{

printf("请输入数组的第%d个元素的值:", i+1);

scanf("%d", &val);

printf("\n");

a[i] = val;

}

for (i = 0; i < n; i++)

{

sun+=a[i];//sun+=a[i]相当于sun=sun+a[i];

}

printf("sun = %d\n",sun);

free(a);//释放a动态分配的内存

return 0;

}

扩展资料:

一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。

如果要用户输入的是一个数组,一般是用一个循环,但是在输入前也需要固定数组的大小。

compact跟变长数组没有太大的关系,也应该用不到变长数组。因为一般的传数组到函数中就是传数组的地址和元素的个数的,那只是一个提示,不是要求。

参考资料来源:百度百科-数组

1、reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
  arrayreduce(function(total, currentValue, currentIndex, arr), initialValue)
2、示例1
let arr = [1, 2, 3, 4, 5];
sum = arrreduce(function(prev, cur, index, arr) { return prev + cur;})
consolelog(arr, sum); //输入数组本身和最后的结果
3、示例2
let usr = [ {name: 'name1', age: 4}, {name: 'name2', age: 4}, {name: 'name3', age: 3}]; let res = usrreduce((a, b) => {return a + bage}, 0);consolelog(res) // 11


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13044181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存