真是苺良鑫呀 2021-06-24 10:43 采纳率: 92.3%
浏览 151
已采纳

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

【题目描述】

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

 

【输入形式】

第一行输入整数个数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;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM