求出数组元素中的最大/小的数
例题 求出五只小猪中最重的猪
#include<iostream>
using namespace std;
int main(){
//创建5只小猪体重的数组
int arr[5]={300,350,200,400,250};
//从数组中找到最大值
int max=0;//现任顶一个最大值为0 ,
//通过比较不断刷新max的值,最终找到最大值
for(int i=0;i<5;i++){
if(arr[i]>max)
max=arr[i];
}
//输出最大值
cout<<max;
return 0;
}
元素逆置(逆序)
相应位置进行交换
#include<iostream>
using namespace std;
int main(){
//1.创建数组
int a[5]={1,2,3,4,5};
for(int i=0;i<5;i++){
cout<<a[i]<<" ";
}
//2.实现逆置
for(int i=0;i<3;i++){//这里为数组元素个数/2
swap(a[i],a[4-i]); //原型相当于多一个中间变量t
}
for(int i=0;i<5;i++){
cout<<a[i]<<" ";
}
return 0;
}
若不用swap函数,则可改为
for(int i=0;i<3;i++){
int t=a[i];
a[i]=a[4-i];
a[4-i]=t;
}
另一种方法:下标法
#include<iostream>
using namespace std;
int main(){
//1.创建数组
int a[5]={1,2,3,4,5};
for(int i=0;i<5;i++){
cout<<a[i]<<" ";
}
//2.实现逆置
/*直接数组元素的交换
for(int i=0;i<3;i++){
swap(a[i],a[4-i]);
}*/
//下标法互换
int start=0;//记录起始下标位置
int end=sizeof(a)/sizeof(a[0])-1;// 记录结束下标位置
//用数组长度,除以每个数组元素的长度,
//得数组元素得个数,因为数组从0开始算起所以-1
while(start<end){//起始位置>=结束位置 循环结束
int temp=a[start];//互换
a[start]=a[end];
a[end]=temp;
start++;
end--;
}
for(int i=0;i<5;i++){
cout<<a[i]<<" ";
}
return 0;
}