5个数求最值
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
设计一个从5个整数中取最小数和最大数的程序
输入
输入只有一组测试数据,为五个不大于1万的正整数
输出
输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。
样例输入
1 2 3 4 5
样例输出
1 5
(1)冒泡排序
#include <iostream>
using namespace std;
int main(){
int arr[5];
for(int i=0;i<5;i++){ //输出五个数
cin>>arr[i];
}
for(int i = 0;i<5;i++){ //冒泡排序
for(int j=0;j<5-i-1;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
cout<<arr[0]<<" "<<arr[4]<<endl; //输出最小值与最大值
return 0;
}
(2)插入排序
#include <iostream>
using namespace std;
void InsertSort(int a[], int n) //插入排序
{
for(int i= 1; i<n; i++){
if(a[i] < a[i-1]){
int j= i-1;
int x = a[i];
a[i] = a[i-1];
while(x < a[j]){
a[j+1] = a[j];
j--;
}
a[j+1] = x;
}
}
}
int main(){
int arr[5];
for(int i=0;i<5;i++){
cin>>arr[i];
}
InsertSort(arr,5);
return 0;
}
(3)STL算法
#include <iostream>
#include<algorithm>
using namespace std;
int main(){
int arr[5];
for(int i=0;i<5;i++){
cin>>arr[i];
}
cout<<*min_element(arr,arr+5)<<" "<<*max_element(arr,arr+5);
return 0;
}