递归求解数组中的最大值
2016-04-14 18:14
429 查看
当i=0,Max(A,i)=A[0];//递归出口
否则,Max(A,i)=max(Max(A,i-1),A[i]);//max是取最大值
问题及代码:
/*
* Copyright (c) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:Max.cpp
* 作 者:单昕昕
* 完成日期:2016年4月14日
* 版 本 号:v1.0
* 问题描述:已知A
为整数数组,编写一个递归算法求其中n个元素的平均值。
* 程序输入:数组A
。
* 程序输出:n个元素的平均值。
*/
#include <iostream>
using namespace std;
const int MaxSize=100;
int A[MaxSize];
int Max(int A[],int i)
{
int a;
if(i==0)//递归出口
return A[0];
else
{
a=Max(A,i-1);
return ((a>A[i])?a:A[i]);//判断A[i]与a的大小
}
}
int main()
{
int i,n,ans;
cout<<"n=";
cin>>n;
for(i=0; i<n; ++i)
cin>>A[i];
ans=Max(A,n-1);
cout<<"MAX="<<ans<<endl;
return 0;
}
运行结果:
否则,Max(A,i)=max(Max(A,i-1),A[i]);//max是取最大值
问题及代码:
/*
* Copyright (c) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:Max.cpp
* 作 者:单昕昕
* 完成日期:2016年4月14日
* 版 本 号:v1.0
* 问题描述:已知A
为整数数组,编写一个递归算法求其中n个元素的平均值。
* 程序输入:数组A
。
* 程序输出:n个元素的平均值。
*/
#include <iostream>
using namespace std;
const int MaxSize=100;
int A[MaxSize];
int Max(int A[],int i)
{
int a;
if(i==0)//递归出口
return A[0];
else
{
a=Max(A,i-1);
return ((a>A[i])?a:A[i]);//判断A[i]与a的大小
}
}
int main()
{
int i,n,ans;
cout<<"n=";
cin>>n;
for(i=0; i<n; ++i)
cin>>A[i];
ans=Max(A,n-1);
cout<<"MAX="<<ans<<endl;
return 0;
}
运行结果:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 如何组织构建多文件 C 语言程序(二)
- 关于指针的一些事情
- 如何写好 C main 函数
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- C#数据结构之顺序表(SeqList)实例详解
- Lua中调用C++函数示例
- Lua和C语言的交互详解
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(七):数据结构详解
- Lua教程(二):C++和Lua相互传递数据示例
- 有关数据库SQL递归查询在不同数据库中的实现方法
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#中的递归APS和CPS模式详解
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- WinForm实现按名称递归查找控件的方法
- C#数据结构之单链表(LinkList)实例详解
- 使用SqlServer CTE递归查询处理树、图和层次结构