2 qmh c qmh_c 于 2015.07.08 01:23 提问

将a数组中的数依次取出分别与b数组中的数挨个相加得到新的数组再输出新数组的和 5C

有数组a[ ]={1,2,3,4,5}和数组b[ ]={1,2,3,4,5},需要将a数组中的数依次取出分别与b数组中的数相加得到新的数组再输出新数组的和,即第一次将a中的1分别与b中的1,2,3,4,5相加,得到[2,3,4,5,6],输出为2+3+4+5+6=20;第二次为将a中的2分别与b中的1,2,3,4,5相加,得到[3,4,5,6,7],输出为3+4+5+6+7=25,之后类似,求用C/C++编写,急用,感激不尽!!!

9个回答

securitit
securitit   2015.07.08 08:17

楼上的做法有点笨重吧,首先b数组是永远求和的,没必要每次都重新遍历再求和。
可以在楼上的基础上进行改进:
1.对b数组求和
2.输出值=a数组当前元素*b数组个数+b数组的和

qq983796981
qq983796981   2015.07.08 04:19

#include
int main()
{int a[ ]={1,2,3,4,5},b[ ]={1,2,3,4,5};
int x=sizeof(a)/sizeof(a[0]), y=sizeof(b)/sizeof(b[0]);
int i,j;int c[y],sum=0;
for(i=0;i<x;i++)
{ printf("c(%d)=",i);

for(j=0;j<y;j++)

{ c[j]=a[i]+b[j];

sum=sum+c[j];

printf("%d ",c[j]);

}
printf("\n sum(%d)=%d \n",i,sum);
}

return 0;
}

fengyehudie
fengyehudie   2015.07.08 08:23

首先计算B的整体值是对的,但是 也得注意楼主要求的输出格式。。。。

strutce
strutce   Ds   Rxr 2015.07.08 09:08

#include
int main()
{int a[ ]={1,2,3,4,5},b[ ]={1,2,3,4,5};

int i,j;sum=0;sum1=0;
for(i=0;i<b.length;i++)
{sum+=b[i];
}
for(j=0;j<a.length;j++)
{
sum1=sum+a[i]*b.length;
printf(sum1);
}

}

lovelj2012
lovelj2012   2015.07.08 09:52

a数组每个元素要依次和b数组逐个元素相加,那么可以先把b数组各元素求和保存到一个变量
如果仅仅为了遍历新的数组元素值,没必要产生新数组啊。
遍历a数组,每个元素加上这个变量进行输出呗。

frank_20080215
frank_20080215   2015.07.08 11:20

int a[ ]={1,2,3,4,5};
int b[ ]={1,2,3,4,5};
int size = sizeof(a)/sizeof(a[0]);
int sum[ ] = {};
int i,j;

sum[size] = {0,0,0,0,0}

for (i = 0; i < size; i++){
for (j = 0; j < size; j++) {
b[j] = b[j] + a[i];
}
for(j = 0; j < size; j++){
sum[i] = sum[i] + b[j];
}
}

zt110120
zt110120   2015.07.09 15:02

#include

int main()
{
int i,j;
int sum = 0;
int a[] = {1,2,3,4,5,};
int b[] = {1,2,3,4,5};
int c[6] = {0};

for(i = 0;i < 5;i++)
{
    for(j = 0;j < 5;j++)
    {
        c[j] = a[i] + b[j];
        sum= sum + c[j];
    }
    printf("%d\n",sum);
    sum = 0;
}
return 0;

}

u014306011
u014306011   2015.07.14 12:27

楼主,我这个代码绝对符合你的要求。

 #include<stdio.h>
int main(){
    int i,j,sum;
    int a[]={1,2,3,4,5};
    int b[]={1,2,3,4,5};
    int c[]={0,0,0,0,0};
    for(i=0;i<5;i++){
        sum=0;
        for(j=0;j<5;j++){
            c[j]=a[i]+b[j];
            sum+=c[j];
        }
        for(j=0;j<5;j++)
            if(j!=4)
                printf("%d+",c[j]);
            else
                printf("%d=",c[j]);
        printf("%d\n",sum);
    }
    return 0;
}

lingzhu111
lingzhu111   2015.08.07 17:02

b 的每个元素为 b[i] + a[0] + a[1] .... + a[4]
所以 b[0] + a[0] + a[1] .... + a[4]
b[1] + a[0] + a[1] .... + a[4]
b[2] + a[0] + a[1] .... + a[4]
b[3] + a[0] + a[1] .... + a[4]
b[4] + a[0] + a[1] .... + a[4]


             sum(b[]) + 5*sum(a[])
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
计蒜客 挑战难题 第11题:移除数组中的重复元素
第11题:移除数组中的重复元素  尝试次数 983次 内存限制 10000 K 时间限制 1000 ms 给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。 例如:    数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求:    不能新开数组分配额外的空间。即常数空间限制。 提示:    输入一个整数n,以及其
计蒜客第11题---移除数组中的重复元素
给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间。即常数空间限制。 提示: 输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例1 输入: 5 0 0 1 1 2 输出: 3# include <iostream>
js中的数组中的数组相加
js中的数组中的数组相加,push和+=的区别。
算法:给定整数型数组,要求去除重复元素形成新数组,并返回新数组长度
/** * * @author VK * @Date 2016-12-19 10:48 * @Decribe 给定一个整数型一维数组,去除重复元素形成新数组, * 并返回新数组长度。不额外分配数组空间 * */ public class Demo { public static void main(String[] args) { int[] src = { 0,
九度OJ 题目1534:数组中第K小的数字(二分解)
题目链接:点击打开链接 题目描述: 给定两个整型数组A和B。我们将A和B中的元素两两相加可以得到数组C。 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]。 现在给你数组A和B,求由A和B两两相加得到的数组C中,第K小的数字。 输入: 输入可能包含多个测试案例。 对于每个测试案例,输入的第一行为三个整数m
两个数组元素(相加、相乘)相关的问题
1.两个数组两个元素之和的最小K个值: 要求复杂度低于O(n^2). 已知A B两个数组,元素有序,构造新的集合S={x+y | x属于A, y属于B} 求S中最小的k个元素,最优解法。 2.两个数组(正数)两个元素之积的最小K个值:  已知A B两个数组,元素有序,构造新的集合S={x*y | x属于A, y属于B} 求S中最小的k个元素,最优解法。
算法学习-连续子数组求和最大值
1.最笨的办法-穷举法 思路就是,取出所有可能的子数组,即找出所有可能的0≤i≤j≤n,然后求出数组从i到j的所有数的和再对比,这样的方法时间复杂度较高,python实现如下: class Solution(object): def maxSubArray(self, nums): """ :type nums: List[int]
【计蒜客系列】挑战难题11:移除数组中重复元素
题目来源:计蒜客 给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。 例如:    数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求:    不能新开数组分配额外的空间。即常数空间限制。 提示:    输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例1 输入: 5 0 0 1 1 2 输出: 3 #i
在数组中找出两个数a、b,使得a加b等于给定的c
题目:有一个整数数组array,给定整数sum,从这两个数中选取两个数a、b,使得a+b = sum。 《编程之美2.12 》 一、满足条件的两个数 找出两个数a、b,使得a + b = sum;等价于:从数组中找一个数b使得 b = sum - a; 方法一 //方法一:穷举法。查找任意两个数,看其之和是否为给定数 //该方法时间复杂度为O(n^2) 方法二 //方法二:对数组
java__给定一个升序排列的数组,去掉重复的数,并输出新的数组的长度
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); int []arr=new int [n]; int m=n;