11个回答
展开全部
楼上的代码写得有点繁琐,其实一个简单的if结构就可以实现这个递归。
#include
<iostream>
using
namespace
std;
int
max(int
[],int);
//
max函数原型
int
main()
{
int
a[10]={1,3,8,2,4,9,5,7,6,0};
cout
<<
"a数组最大元素为:"
<<
max(a,10)
<<
endl;
return
0;
}
int
max(int
arr[],
int
size)
//
max函数定义
{
if
(size
==
2)
return
arr[0]
>
arr[1]
?
arr[0]
:
arr[1];
else
return
max(arr,size
-
1)
>
arr[size
-
1]
?
max(arr,size
-
1)
:
arr[size
-
1];
}
#include
<iostream>
using
namespace
std;
int
max(int
[],int);
//
max函数原型
int
main()
{
int
a[10]={1,3,8,2,4,9,5,7,6,0};
cout
<<
"a数组最大元素为:"
<<
max(a,10)
<<
endl;
return
0;
}
int
max(int
arr[],
int
size)
//
max函数定义
{
if
(size
==
2)
return
arr[0]
>
arr[1]
?
arr[0]
:
arr[1];
else
return
max(arr,size
-
1)
>
arr[size
-
1]
?
max(arr,size
-
1)
:
arr[size
-
1];
}
展开全部
楼上的代码写得有点繁琐,其实一个简单的if结构就可以实现这个递归。
#include <iostream>
using namespace std;
int max(int [],int); // max函数原型
int main()
{
int a[10]={1,3,8,2,4,9,5,7,6,0};
cout << "a数组最大元素为:" << max(a,10) << endl;
return 0;
}
int max(int arr[], int size) // max函数定义
{
if (size == 2)
return arr[0] > arr[1] ? arr[0] : arr[1];
else
return max(arr,size - 1) > arr[size - 1] ? max(arr,size - 1) : arr[size - 1];
}
#include <iostream>
using namespace std;
int max(int [],int); // max函数原型
int main()
{
int a[10]={1,3,8,2,4,9,5,7,6,0};
cout << "a数组最大元素为:" << max(a,10) << endl;
return 0;
}
int max(int arr[], int size) // max函数定义
{
if (size == 2)
return arr[0] > arr[1] ? arr[0] : arr[1];
else
return max(arr,size - 1) > arr[size - 1] ? max(arr,size - 1) : arr[size - 1];
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#define N 10//由于数组大小不可改变,故定义宏,可修改
int max(int*a,int n,int big)
{
if(n==-1)return big;
else{
if(a[n]>big){
return max(a,n-1,a[n]);
}
else return max(a,n-1,big);
}
}
int main()
{
int i,big,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
big=max(a,N-1,-9999999);
printf("The biggest is %d\n",big);
}
#define N 10//由于数组大小不可改变,故定义宏,可修改
int max(int*a,int n,int big)
{
if(n==-1)return big;
else{
if(a[n]>big){
return max(a,n-1,a[n]);
}
else return max(a,n-1,big);
}
}
int main()
{
int i,big,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
big=max(a,N-1,-9999999);
printf("The biggest is %d\n",big);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的代码写得有点繁琐,其实一个简单的if结构就可以实现这个递归。
#include
using
namespace
std;
int
max(int
[],int);
//
max函数原型
int
main()
{
int
a[10]={1,3,8,2,4,9,5,7,6,0};
cout
<<
"a数组最大元素为:"
<<
max(a,10)
<<
endl;
return
0;
}
int
max(int
arr[],
int
size)
//
max函数定义
{
if
(size
==
2)
return
arr[0]
>
arr[1]
?
arr[0]
:
arr[1];
else
return
max(arr,size
-
1)
>
arr[size
-
1]
?
max(arr,size
-
1)
:
arr[size
-
1];
}
#include
using
namespace
std;
int
max(int
[],int);
//
max函数原型
int
main()
{
int
a[10]={1,3,8,2,4,9,5,7,6,0};
cout
<<
"a数组最大元素为:"
<<
max(a,10)
<<
endl;
return
0;
}
int
max(int
arr[],
int
size)
//
max函数定义
{
if
(size
==
2)
return
arr[0]
>
arr[1]
?
arr[0]
:
arr[1];
else
return
max(arr,size
-
1)
>
arr[size
-
1]
?
max(arr,size
-
1)
:
arr[size
-
1];
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的代码写得有点繁琐,其实一个简单的if结构就可以实现这个递归。
#include
<iostream>
using
namespace
std;
int
max(int
[],int);
//
max函数原型
int
main()
{
int
a[10]={1,3,8,2,4,9,5,7,6,0};
cout
<<
"a数组最大元素为:"
<<
max(a,10)
<<
endl;
return
0;
}
int
max(int
arr[],
int
size)
//
max函数定义
{
if
(size
==
2)
return
arr[0]
>
arr[1]
?
arr[0]
:
arr[1];
else
return
max(arr,size
-
1)
>
arr[size
-
1]
?
max(arr,size
-
1)
:
arr[size
-
1];
}
#include
<iostream>
using
namespace
std;
int
max(int
[],int);
//
max函数原型
int
main()
{
int
a[10]={1,3,8,2,4,9,5,7,6,0};
cout
<<
"a数组最大元素为:"
<<
max(a,10)
<<
endl;
return
0;
}
int
max(int
arr[],
int
size)
//
max函数定义
{
if
(size
==
2)
return
arr[0]
>
arr[1]
?
arr[0]
:
arr[1];
else
return
max(arr,size
-
1)
>
arr[size
-
1]
?
max(arr,size
-
1)
:
arr[size
-
1];
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询