遞迴實現一維陣列求和
阿新 • • 發佈:2019-02-08
#include<iostream>
#include<iomanip>
using std::cin;
using std::cout;
using std::setw;
int main()
{
int sum1(int a[],int length);
int sum2(int a[],int length);
const int len =10;
int array[10];
int num;
int i=0;
while(i!=len)
{
cin>>num;
array[i]=num;
++i;
}
cout<<sum1(array,len)<<setw(3)<<sum2(array,len);
system("pause");
return 0;
}
//迴圈實現
int sum1(int a[],int length)
{
int sum=0;
for(int i=0;i<length;i++)
sum+=a[i];
return sum;
}
//遞迴實現
int sum2(int a[],int length)
{
return length==0?0:sum2(a,length-1)+a[length-1];
}
#include<iomanip>
using std::cin;
using std::cout;
using std::setw;
int main()
{
int sum1(int a[],int length);
int sum2(int a[],int length);
const int len =10;
int array[10];
int num;
int i=0;
while(i!=len)
{
cin>>num;
array[i]=num;
++i;
}
cout<<sum1(array,len)<<setw(3)<<sum2(array,len);
system("pause");
return 0;
}
//迴圈實現
int sum1(int a[],int length)
{
int sum=0;
for(int i=0;i<length;i++)
sum+=a[i];
return sum;
}
//遞迴實現
int sum2(int a[],int length)
{
return length==0?0:sum2(a,length-1)+a[length-1];
}