题目描述
任意输入 n 个整数,把它们的最大值,最小值求出来。
输入
输入只有一行,包括一个整数 n (1≤n≤20),后面跟着 n 个数, 每个数的范围在0∼32767之间。
输出
输出只有一行,包括 22 个整数。
样例
输入
复制
5 1 99 3 6 0
输出
复制
99 0
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[101],n,max=0,min=0;//定义数组元素及大小变量
cin>>n;//读入数组个数
for(int i=1;i<=n;i++){
cin>>a[i];//输入每个元素数值
}
max=a[1];//假设第一个值是最大的
min=a[1];//假设第一个值是最小的
for(int i=2;i<=n;i++){
//因为已经把a[1]的值赋值,就不需要跟自己比了
if(a[i]>max){//循环判断接下来的数组数值是否大于MAX
max=a[i];//如果是,就将数值赋值给MAX
} //如果不是,就接着判断
if(a[i]<min){//数组数值是否小于MIN
min=a[i];//如果是,就将数值赋值给MIN
}
}
cout<<max<<" "<<min;//输出MAX和MIN的值
return 0;
}
方案二:按数组下标输出
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[101],n,max=0,min=0;//定义数组元素及大小变量
cin>>n;//读入数组个数
for(int i=1;i<=n;i++){
cin>>a[i];//输入每个元素数值
}
max=1;//假设第一个值是最大的
min=1;//假设第一个值是最小的
for(int i=2;i<=n;i++){
//因为已经把a[1]的值赋值,就不需要跟自己比了
if(a[i]>a[max]){//循环判断接下来的数组数值是否大于MAX
max=i;//如果是,就将数组的下标给MAX
} //如果不是,就接着判断
if(a[i]<a[min]){//数组数值是否小于MIN
min=i;//如果是,就将组的下标赋值给MIN
}
}
cout<<a[max]<<" "<<a[min];//输出下标为a[MAX]和a[MIN]的值
return 0;
}