C++老师出的关于数组的问题

编写一个自定义函数,实现对两个数组对应元素值的一一相加,把结果存入第三个数组里。在主函数里从键盘输入这两个数组,并输入这两个数组的每个元素,然后调用该自定义函数,再把第三个数组元素输出

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>

//两个数组相加求和
void AddArry(int a[],int na,int b[],int nb,int c[],int &nc)
{
	nc = na > nb ? na:nb;
	

	for (int i = 0; i < nc; i++)
	{
		if(i < na && i < nb)
			c[i] = a[i]+b[i];
		else if (i >= na && i < nb)
		{
			c[i] = b[i];
		}else if (i < na && i >= nb)
		{
			c[i] = a[i];
		}
		
	}
	
}



void main()
{
	int na;
	int nb;
	int a[100],b[100];
	int n;
	printf("请输入数组a中元素的个数:");
	scanf("%d",&na);
	printf("请输入数组a中的元素:");
	for (int i = 0; i < na; i++)
	{
		scanf("%d",&a[i]);
	}

	printf("请输入数组b中元素的个数:");
	scanf("%d",&nb);
	printf("请输入数组b中的元素:");
	for (int i = 0; i < nb; i++)
	{
		scanf("%d",&b[i]);
	}

	int c[100] = {0};
	int nc = 0;
	printf("求和:\n");
	AddArry(a,na,b,nb,c,nc);
	for (int i = 0; i < nc; i++)
	{
		printf("%d ",c[i]);
	}
	printf("\n");
	
	getchar();
	getchar();
}

 

void fun(int a[],int b[],int c[],int n)
{
	for(int i=0;i<n;i++)
		c[i] = a[i]+b[i];
}

int main()
{
	int a[10],b[10],c[10];
	int i;
	for(i=0;i<10;i++)
		scanf_s("%d",&a[i]);
	for(i=0;i<10;i++)
		scanf_s("%d",&b[i]);
	fun(a,b,c,10);
	for(i=0;i<10;i++)
		printf("%d ",c[i]);
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632