//题目:数组乘积(腾讯,搜狗,小米)
#include<iostream>
using namespace std;
#define N 4 // 宏定义
int *cal(int *input,int n)
{
int *result=new int[n];//动态生成一个大小为n,数据元素类型为int的数组
//先算当前数字的左边乘积
result[0] = 1;
for(int i=1;i<n;++i)
{
result[i]=result[i-1]*input[i-1];
}
//再算当前数字右边的乘积以及最后结果
result[0]=input[n-1];
for(int i=n-2;i>0;i--)
{
result[i]=result[i]*result[0];//result[i]结果
result[0]=result[0]*input[i];//更新result[0]
}
return result;
}
void main()
{
int arr[N]={2,3,4,5};
int *q = cal(arr,N);
for(int i=0;i<N;i++)
{
cout<<*(q+i)<<' ';//输出结果放在一行
}
}
数组乘积
最新推荐文章于 2022-05-11 22:44:03 发布