编写程序计算数组元素之和。要求编写函数三次,每次以不同的方法处理数组边界。

本文介绍了三种不同的方法来处理数组边界,计算数组元素的总和。第一种方法是在数组末尾添加一个结束标志,如99999;第二种方法是通过传递数组的第一个和最后一个元素的指针;第三种方法是直接将数组长度作为函数参数。示例还涉及了求vector<double>中元素之和的问题。
摘要由CSDN通过智能技术生成

第一种是在数组后面加一个结束标志,比如下面加了99999这样的数(加这样的数可能不太好,,)

int sum_arr(const int ia[])
{
	int sum=0,index=0;
	while(ia[index]!=99999){
		sum+=ia[index];
		++index;
	}
	return sum;
}


int main()
{
	int a[5]={1,3,6,8,99999};
	cout<<sum_arr(a)<<endl;
	return 0;
	
}

第二种方法是借鉴vector容器的做法传入数组的第一个和最后一个元素的指针

int sum_arr(const int* beg, const int* end)
{
	int sum=0;
	while(beg!=end){
		sum+=*beg;
		++beg;
	}
	return sum;
}

int main()
{
    size_t arr_size=4;
	int a[arr_size]={1,3,6,8};
	cout<<sum_arr(a,a+arr_size)<<endl;//C++11对数组引入begin 和end函数sum_arr(begin(a),end(a))
	return 0;
	
}

第三种是把数组长度作为形参传进去

int sum_arr(const int ia[],size_t size)
{
	int sum=0;
	for(size_t i=0;i!=size;++i){
		sum+=ia[i];
	}
	return sum;
}
int main()
{
	int a[4]={1,3,6,8};
	cout<&l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值