注册 登录
编程论坛 C++教室

C++数组传参问题

jioper 发布于 2017-04-27 10:54, 1821 次点击
输入3个整数,并找出其中的最大值


要求1:在main函数中使用for循环与cin读入3个整数,存入名为arr的整型数组中,并将该数组作为形参传递给get_max子函数。

要求2:get_max子函数的功能是找出数组中的最大值,并返回给main函数。

要求3:get_max函数调用完毕后,在main函数中使用cout打印出最大值。
我的代码:
#include<iostream>
using namespace std;
int get_max(int &a,int &b,int &c)
{
int max; max=a; if(max<b) max=b; if(max<c) max=c; return max;
}
int main()
{
    int arr[3];
    for(int  i=0;i<3;i++)
    {
        cin>>arr[i];
    }
    int amx=get_max(arr[0],arr[1],arr[2]);
    cout<<amx;
    return 0;
}
我是不是只是传了三个变量,没有把数组作为形参传递啊...要改的话怎么改呢?
1 回复
#2
rjsp2017-04-27 11:17
程序代码:
#include <iostream>
using namespace std;

int get_max( const int arr[] )
{
    int max = arr[0];
    if( max < arr[1] )
        max = arr[1];
    if( max < arr[2] )
        max = arr[2];
    return max;
}
int main( void )
{
    int arr[3];
    for( size_t i=0; i!=3; ++i )
        cin >> arr[i];
    cout << get_max(arr) << endl;
    return 0;
}
1