如何能让自定义函数可以用主函数的值?

【题目描述】

求若干个整数的最大值和最小值并输出。要求在自定义函数中求整型数组的最大值和最小值,然后在主函数输出。

 

【输入形式】

第一行输入整数个数n(2≤n≤20)。

第二行输入n个整数,每个整数x满足-10000≤x≤10000。

【输出形式】

一行,两个整数,分别表示整数的最大值和最小值。

【样例输入1】

4

2 3 1 4

【样例输出1】

4 1

#include<iostream>
#include<cstring>
using namespace std;
int max(int *m);
int min(int *n);
int max(int *m)//求最大值 
{
	int max=*a;
	for(int i=0;i<n;i++)
	{
		if(*max<*(a+i))
		*max=*(a+i);
	}
	return *max;
}
int min(int *n)//求最小值 
{
	int min=*a;
	for(int i=0;i<n;i++)
	{
		if(*min>*(a+i))
	    *min=*(a+i);
	}
	return min;
}
{
	
	
}
int main()

{
	int n;
	int a[100];
	for(int i=1;i<=n;i++)//输入n个数 
	cin>>a[i];
	cout<<max(&a)<<" "<<min(&b)<<endl;
	return 0;
}

 

用指针或者数组可以,代码修改如下:

#include<iostream>
#include<cstring>
using namespace std;
int max(int *a,int n);
int min(int *a,int n);
int max(int *a,int n)//求最大值 
{
	int max=*a;
	for(int i=0;i<n;i++)
	{
		if(max<*(a+i))
			max=*(a+i);
	}
	return max;
}
int min(int *a,int n)//求最小值 
{
	int min=*a;
	for(int i=0;i<n;i++)
	{
		if(min>*(a+i))
			min=*(a+i);
	}
	return min;
}

int main()
{
	int n;
	int a[100];
	cout << "请输入数组的个数:";
	cin >> n;
	for(int i=0;i<n;i++)//输入n个数 
		cin>>a[i];
	cout<<max(a,n)<<" "<<min(a,n)<<endl;
	return 0;
}