1238: 【作】【入门】郭远摘苹果

内存限制:16 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:38 解决:17

题目描述

郭远有一天走到了一片苹果林,里面每颗树上都结有不同数目的苹果,郭远身上只能拿同一棵树上的苹果,他每到一棵果树前都会把自己身上的苹果扔掉并摘下他所在树上的苹果并带走(假设郭远会走过每一棵苹果树),问在郭远摘苹果的整个过程中,他身上携带的最多苹果数与最小苹果数的差是多少?

输入

n,m(即苹果林中有果树的行数和列数,0<n,m<=10) n行m列数据(即每颗树上的苹果数)

输出

1个数字(郭远摘苹果的整个过程中,他身上携带的最多苹果数与最小苹果数的差)

样例输入 复制

4 3
2 6 5
1 3 7
5 3 5
1 7 12

样例输出 复制

11

提示

思路:求二维数组的最大数和最小数的差值!

#include <bits/stdc++.h> 
using namespace std;
int main(){
    //n:行m:列
    int a[20][20],n,m,i,j,ma,mi; 
	cin>>n>>m;
    //循环读入数组元素
	//先循环行
    for(i = 0;i < n;i++){
        //再循环列
        for(j = 0;j < m;j++){
            cin>>a[i][j];
		}
    }
    //求最大、最小数
    //假设第一个数是最大、最小 
	ma = a[0][0]; 
	mi = a[0][0];
    //循环数组元素,如果有比ma大的数,替换ma 
	for(i = 0;i < n;i++){
        for(j = 0;j < m;j++){
            if(a[i][j] > ma){
                ma = a[i][j];
            }
            if(a[i][j] < mi){
                mi = a[i][j];
            }	
	    }	
    }
    cout<<ma-mi<<endl;
}