首页 > 试题广场 >

求最大最小数

[编程题]求最大最小数
  • 热度指数:23002 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入N个(N<=10000)数字,求出这N个数字中的最大值和最小值。每个数字的绝对值不大于1000000。

输入描述:
输入包括多组测试用例,每组测试用例由一个整数N开头,接下去一行给出N个整数。


输出描述:
输出包括两个整数,为给定N个数中的最大值与最小值。
示例1

输入

5
1 2 3 4 5
3
3 7 8

输出

5 1
8 3
循环输入,然后分别记录最大最小值,遍历一遍过程中分别对最大最小值进行更新即可
#include<iostream>
using namespace std;
int main(){
    int number;
    while(cin>>number){
        int* a=new int[number];
        int temp;
        for(int i=0;i<number;i++)
            cin>>a[i];
        int min=1000000,max=-1000000;
        for(int i=0;i<number;i++){
            if(a[i]<min)
                min=a[i];
            if(a[i]>max)
                max=a[i];
        }
        cout<<max<<' '<<min<<endl;
    }
}

发表于 2019-02-05 16:01:46 回复(0)
import java.util.Scanner;
import java.util.Arrays;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            int[] nums = new int[n];
            for(int i=0;i<n;i++){
                nums[i] = sc.nextInt();
            }
            Arrays.sort(nums);
            System.out.println(nums[n-1]+" "+nums[0]);
        }
    }
}

发表于 2018-09-19 08:55:16 回复(0)
#include<iostream>
using namespace std;
int main()
{
	int n,temp,min,max;
	while(scanf("%d",&n)!=EOF)
	{
		cin>>temp;
		min=max=temp;
		while(--n)
		{
			cin>>temp;
			if(temp>max)max=temp;
			if(min>temp)min=temp;
		}
		cout<<max<<" "<<min<<endl;
	}
}这个题,很明显不需要初始化max和min,也不需要另外开辟数组,很简单啊
发表于 2019-09-21 11:28:24 回复(1)
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int a[10000];
int i;
int main()
{
    while(cin>>n)
    {
        for(i=0;i<n;i++)
            cin>>a[i];
        int *maxNum=max_element(a,a+n);
        int *minNum=min_element(a,a+n);
        cout<<*maxNum<<" "<<*minNum<<endl;
    }
    return 0;
}
都是套路啊。
发表于 2019-01-06 12:18:15 回复(0)
#include<stdio.h>
int main()
{
    int a[10000],N,i,max,min;
    while(scanf("%d",&N)!=EOF)
    {
        for(i=0;i<N;i++)
            scanf("%d",&a[i]);
        max=min=a[0];
        for(i=1;i<N;i++)
            {
                if(a[i]>max) max=a[i];
                if(a[i]<min) min=a[i];
            }
            printf("%d %d\n",max,min);
    }
    return 0;
}
发表于 2018-01-16 16:15:56 回复(0)
#include <iostream>
using namespace std;

int main(){
    int num;
    while(scanf("%d",&num) != EOF){
        int  data, max = -65536, min =65535;
        for(int i = 0; i < num; i++){
            cin >> data;
            if(data>=max){
                max = data;
            }
            if(data <= min){
                min = data;
            }
        }
        cout << max << " " << min <<endl;
    }
    return 0;
}

发表于 2017-02-25 20:41:19 回复(0)
#include<bits/stdc++.h>

using namespace std;

int main()
{
    ios::sync_with_stdio(false); 
    int n, x;
    while(cin >> n)
    {
        int m1 = -1e6, m2 = 1e6;
        while(n--)
        {
            cin >> x; m1 = max(m1, x); m2 = min(m2, x);
        }
        cout << m1 << ' ' << m2 << '\n';
    }
    return 0;
}

发表于 2021-01-19 22:09:11 回复(0)
#include<iostream>
#
include<algorithm>
const int maxn=1000000;
using namespace std;
int n,a[maxn],*p1,*p2;

int main(){
    cin>>n;
    for(int i=0;i<n;i++) cin>>a[i];
    p1=max_element(a,a+n);
    p2=min_element(a,a+n);
    cout<<*p1<<" "<<*p2;
    return 0;
}
发表于 2020-03-17 13:53:49 回复(0)
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        int min,max; // 边读边保存最大最小值
        cin>>min;
        max = min;
        int temp;
        for(int i=1;i<n;i++){
            cin>>temp;
            min = min<temp?min:temp;
            max = max>temp?max:temp;
        }
        cout<<max<<" "<<min<<endl;
    }
    return 0;
}

发表于 2020-03-01 22:56:56 回复(0)
第一反应是用algorithm自带库函数sort,基于快速排序来解决,复杂度O(nlogn),本题只要求最大值最小值,看了大家的优质回答,发现预设最大最小值,然后遍历一边找出来的复杂度只有O(n)😂
//用sort库函数,时间复杂度高
#include<iostream>
#include<cstdio>
#include<algorithm>

using namespace std;

const int Maximum = 10000;
int array[Maximum];

int main(){
    int N;
    while(cin>>N){
        for(int i=0; i<N; i++){
        cin>>array[i];
        }
        sort(array,array+N);
        cout<<array[N-1]<<" "<<array[0]<<endl;
    }
    return 0;
}

发表于 2020-02-13 10:59:28 回复(0)
使用 sort() 函数对输入的数组进行排序  然后输出数组两端就可以了  白给题
#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
int main(void)
{
    int n;
    while(cin>>n)
    {
        int a[n];
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        cout<<a[n-1]<<" "<<a[0]<<endl;
    }
    return 0;
}
发表于 2019-11-15 23:33:33 回复(0)
import java.util.Arrays;
import java.util.Scanner;

public class Main {

    private static Scanner input=new Scanner(System.in);
    public static void main(String args[]) {
        while (input.hasNext()) {
            int a = input.nextInt();
            int[] b = new int[a];
            for (int i = 0; i < a; i++) {
                b[i] = input.nextInt();
            }
            Arrays.sort(b);
            System.out.println(b[a - 1] + " " + b[0]);
        }
    }
}
这样子不会有警告感觉舒服点哈哈哈
发表于 2019-04-17 10:41:01 回复(0)
#include<cstdio>
#include<iostream>
using namespace std;
int a[10001];
int main()
{
    int n,maxn = -1000001,minn = 1000001,i;
    while(cin>>n)
    {
        maxn = -1000001,minn = 1000001;
        for(i = 1; i <= n; i ++)
        {
            cin>>a[i];
            if(a[i] > maxn)
                maxn = a[i];
            if(a[i] < minn)
                minn = a[i];
        }
        cout<<maxn<<' '<<minn<<endl;
    }
    return 0;
}
发表于 2019-04-01 14:18:51 回复(0)
题目中每个数的绝对值不大于1000000(100万),按照测试用例来看,应该是每个数的绝对值不大于10000000(1000万)
发表于 2019-02-23 18:42:29 回复(0)
#include <bits/stdc++.h>
const int INF=1<<30;
using namespace std;
int main()
{
    int n;
    while(cin>>n){
    int num[n];
    int maxv=-INF;int minv=INF;
    for(int i=0;i<n;i++)
    {
        cin>>num[i];
        if(maxv<num[i])
            maxv=num[i];
        if(minv>num[i])
            minv=num[i];
    }
    cout<<maxv<<" "<<minv<<endl;
    }
    return 0;
}
发表于 2018-04-19 12:33:04 回复(0)
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
 int n;
 int buf[10000];
 while(scanf("%d",&n)!=EOF){
  for(int i=0;i<n;i++){
   scanf("%d",&buf[i]);
  }
  sort(buf,buf+n);
  printf("%d %d\n",buf[n-1],buf[0]);
 }
 return 0;
}
发表于 2018-03-24 23:02:51 回复(0)
//万水千山总是情,来个冒泡行不行
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        while(input.hasNext()){
            int n=input.nextInt();
            int arr[]=new int[n];
            for(int i=0;i<n;i++){
                arr[i]=input.nextInt();
            }
            for(int i=1;i<arr.length;i++){
                for(int j=0;j<arr.length-i;j++){
                    if(arr[j]>arr[j+1]){
                        int temp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                    }
                }
            }
            System.out.println(arr[n-1]+" "+arr[0]);
        }
    }
}

发表于 2018-03-02 16:04:19 回复(0)
#include<stdio.h>
int main (){
    int n,i,max,min,t;
    for(;~scanf("%d",&n)&&~scanf("%d",&t);)
        for (max=min=t,i = 1; i < n && ~scanf("%d",&t) && (max<t?max = t:1,min>t?min = t:1);i==n-1?printf("%d %d\n",max,min):0,i++);
}

发表于 2018-01-11 19:46:32 回复(0)
#include<stdio.h>
int main(){
	int N,Max,Min,x;
	while(scanf("%d",&N)!=EOF){
		Max=-10000000,Min=10000000;
		while(N--){
			scanf("%d",&x);
			if(Max<x) Max=x;
			if(Min>x) Min=x;
		}
		printf("%d %d\n",Max,Min);
	}
}

发表于 2017-08-04 09:57:31 回复(0)
//so easy
package tsinghua.minMax;

import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		Scanner scanner=new Scanner(System.in);
		while(scanner.hasNext())
		{
			int numOfNum=scanner.nextInt();
			int min=Integer.MAX_VALUE;
			int max=Integer.MIN_VALUE;
			for(int i=0;i<numOfNum;i++)
			{
				int tempNum=scanner.nextInt();
				if(tempNum<min)
					min=tempNum;
				if(tempNum>max)
					max=tempNum;
			}
			System.out.println(max+" "+min);
		}
	}
}


发表于 2017-07-31 08:41:08 回复(0)

问题信息

难度:
154条回答 18665浏览

热门推荐

通过挑战的用户

查看代码