#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
double x[n][m];
double num[n];
memset(num,0,sizeof(num));
for(int i=0;i<n;i++){
int maxn=0,mini=10;
for(int j=0;j<m;j++){
cin>>x[i][j];
num[i]+=x[i][j];
if(x[i][j]>maxn)
maxn=x[i][j];
if(x[i][j]<mini)
mini=x[i][j];
}
num[i]=num[i]-maxn-mini;
}
sort(num,num+n-1);
printf("%.2f",num[n-1]/(m-2));
}
考虑到下num[]大小为n,使用sort函数从下标0开始,到达下标为n-1处。
输出结果错误。
查询sort函数用法后发现sort结束位为函数地址结束位,将结束参数改为num+n,结果正确。
现深入学习sort()函数的用法
用法
1、sort函数可以三个参数也可以两个参数,必须的头文件#include < algorithm>和using namespace std;
2、它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n)3、Sort函数有三个参数:(第三个参数可不写)
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
两个参数用法
#include <iostream>
#include <algorithm>
int main()
{
int a[20]={2,4,1,23,5,76,0,43,24,65},i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20);
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;
}
输出结果是升序排列。(两个参数的sort默认升序排序)三个参数// sort algorithm example #include <iostream> // std::cout #include <algorithm> // std::sort #include <vector> // std::vector bool myfunction (int i,int j) { return (i<j); }//升序排列 bool myfunction2 (int i,int j) { return (i>j); }//降序排列 struct myclass { bool operator() (int i,int j) { return (i<j);} } myobject; int main () { int myints[8] = {32,71,12,45,26,80,53,33}; std::vector<int> myvector (myints, myints+8); // 32 71 12 45 26 80 53 33 // using default comparison (operator <): std::sort (myvector.begin(), myvector.begin()+4); //(12 32 45 71)26 80 53 33 // using function as comp std::sort (myvector.begin()+4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80) //std::sort (myints,myints+8,myfunction);不用vector的用法 // using object as comp std::sort (myvector.begin(), myvector.end(), myobject); //(12 26 32 33 45 53 71 80) // print out content: std::cout << "myvector contains:"; for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)//输出 std::cout << ' ' << *it; std::cout << '\n'; return 0; }
————————————————
版权声明:本文为CSDN博主「浅然言而信」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/w_linux/article/details/76222112