大佬求解
编写main函数和一个子函数(子函数带int *参数),在main函数中读入一个整数数组(数组大小自定义),通过传地址方式把数组传递给子函数处理,子函数的功能是把数组的最大值元素和第一个元素交换。在main函数中输出处理完成后的数组。[
2018-05-28 23:09
程序代码:#include<iostream>
#include<algorithm>
#include<iterator>
using namespace std;
void change(int *arr, int n){
int max=*max_element(arr,arr+n);
for(int i=0;i<n;i++)
if(max==arr[i]){
arr[i]=arr[0];
arr[0]=max;
break;
}
}
int main() {
int n[]={1,4,22,3,8,35};
change(n, 6);
copy(n,n+6,ostream_iterator<int>(cout,","));
return 0;
}

2018-05-28 23:45


2018-05-29 10:59
程序代码:#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;
void change_maxvalue_to_top( int* arr, size_t n ) // 按照C++风格,这里参数列表应该是( int* first, int* last )
{
if( n != 0 )
iter_swap( arr, max_element(arr,next(arr,n)) );
}
int main( void )
{
int arr[] = { 1, 4, 22, 3, 8, 35 };
change_maxvalue_to_top( arr, size(arr) );
copy( begin(arr), end(arr), ostream_iterator<decltype(*arr)>(cout,", ") );
}
2018-05-29 12:12
2018-05-29 21:55
2018-05-29 22:06
2018-05-29 22:09