真是苺良鑫呀
2021-06-24 10:43
采纳率: 77.3%
浏览 56

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

【题目描述】

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

 

【输入形式】

第一行输入整数个数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;
}
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • qfl_sdu 2021-06-24 11:42
    最佳回答

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

    #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;
    }
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题