读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。

输入格式:
输入有两行: 第一行是n值; 第二行是n个数

输出格式:
输出最大值和最小值。

输入样例:
在这里给出一组输入。例如:
5
8 9 12 0 3

输出样例:
在这里给出相应的输出。例如:
max = 12
min = 0
程序1:

#include<stdio.h>
int main()
{
	int *pmax,*pmin;                            //定义指针
    int n,a[10],min,max,i;
    pmax=&max;                                 //将最大值的地址给指针
    pmin=&min;                                  //将最小值的地址给指针
    scanf("%d",&n);
    //依次输入n个数并存放在数组a中
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
  *pmax=a[0];                                   //令最大值等于数组第一个数
  *pmin=a[0];                                    //令最小值等于数组第一个数           
  //依次用数组后面的每个数作比较      
  for(i=1;i<n;i++){
      if(a[i]>*pmax){                          //当数组后面的数大于*pmax时,则取代                  
          *pmax=a[i];
      }
      if(a[i]<*pmin){
          *pmin=a[i];                               //当数组后面的数小于*pmin时,则取代
        }
    }
    printf("max = %d\n",max);           //按照题目要求的格式输出最大最小值
    printf("min = %d",min);
    return 0;
}

程序2(函数):

#include <stdio.h>
void f(int *pmin,int *pmax,int s[],int m)
{
	int i;
	*pmax=s[0];                       //令最大值等于数组第一个数
	*pmin=s[0];                        //令最小值等于数组第一个数  
	//依次用数组后面的每个数作比较 
	for(i=1;i<m;i++){
		if(s[i]>*pmax){               //当数组后面的数大于*pmax时,则取代 
			*pmax=s[i];
		}
		if(s[i]<*pmin){                //当数组后面的数小于*pmin时,则取代
			*pmin=s[i];
		}
	}
}
int main()
{
	int n,a[10],min,max,i;
	scanf("%d",&n);
	//依次输入n个数并存放在数组a中
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	f(&min,&max,a,n);                    // 将存放最大最小值的地址,数组a和数组大小n传至函数
	printf("max = %d\n",max);        //按照题目要求的格式输出最大最小值
	printf("min = %d",min);
	return 0;
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐