@[Enless](/user/453224)
```cpp
sort(a+1,a+m+1,cmp1);
printf("%.2f",a[1].ave);
```
`a` 数组有 $n$ 个元素,但你给 $a_1\cdots a_m$ 这一部分排了序。
改成 `sort(a+1,a+n+1,cmp1)` 即可。
by _caiji_ @ 2021-05-13 18:49:49
@[Enless](/user/453224) 建议用下标范围是 [0, n) 的 [`std::vector`](https://zh.cppreference.com/w/cpp/container/vector)。
```cpp
std::vector<mark> a(n);
// …
std::sort(a.begin(), a.end(), cmp1);
```
by ud2_ @ 2021-05-13 18:56:52
@[caijianhong](/user/390033) 感谢大佬!这里没检查到
by Enless @ 2021-05-13 19:52:13
@[sjx233_](/user/206953) 感谢,以后我多试试
by Enless @ 2021-05-13 19:55:34