如何使用c语言,用递归法求任意输入的一个数组乘积
代码如下:
#include <stdio.h>
long long fun(int a[],int n)
{
if(n==1)
return a[0];
else
return a[n-1] * fun(a,n-1);
}
int main()
{
int a[100],n=0;
char ch;
printf("请输入数组元素,以回车结束:");
while(1)
{
scanf("%d",&a[n]);
n++;
ch = getchar();
if(ch =='\n') break;
}
printf("%lld\n",fun(a,n));
return 0;
}
// 使用递归计算数组中各元素的乘积
class ArrayMul {
public int mul(int arr[],int n){ //递归实现方法
if(n<=1){
return arr[0];
}
else{
return mul(arr,n-1)*arr[n-1];
}
}
public static void main(String[] args){ //主函数
int[] arr={3,1,2,5};
ArrayMul c1=new ArrayMul();
System.out.println("数组元素递归乘积是:"+c1.mul(arr,arr.length));
}
}
int main()
{
int [] arr={1,2,3,4,5};
int a = fun(arr);
}
int fun(int[] iarr)
{
int temp = 1,count;
count=iarr.Lenght;
for(int i=0;i<count;i++
temp*=iarr[i];
return temp;
}