大神求解,c语言问题:编写一个函数,求数组中的最大数和最小数(把最大最小数带回主调函数再输出)

如题所述

#include<cstdio>
int max,min;/*最大值最小值*/
void max_min(int *a,int n)
{
    max=min=a[0]; /*初始化最大最小值*/
    for(int i=0;i<n;i++) /*遍历数组*/
    {
        if(a[i]>max) max=a[i]; /*比较求最大值*/
        if(a[i]<min) min=a[i]; /*比较求最小值*/
    }
}
int main()
{
    int n,a[10000];
    scanf("%d",&n); /*输入数组元素个数*/
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]); /*输入数组元素*/
    max_min(a,n); /*调用函数求最值*/
    printf("max=%d,min=%d\n",max,min); /*输出最大最小值*/
    return 0;
}

程序如上,之所以不采用return的方式返回,是因为return 只能返回一个值,而题目要求是两个值,所以要用到全局变量(即题目中的max和min变量),将函数中找到的最大最小值“带”出来。


亲测可用,如有疑问请追问,如有帮助请采纳,谢谢!

温馨提示:答案为网友推荐,仅供参考
相似回答