C++的問題,我已經有一個數列Arr[12],請問如何把它裏面最大和最小的兩個數據排除掉並將其餘10個數相加起來。謝謝?

2019-06-27 11:59 pm

回答 (2)

2019-06-29 8:25 am
#include<iostream>
#include<algorithm>
#include<vector>

int main(){
int arr[] = {3,5,2,1, 11,0,9,4, 8,7,6,10}; // arr[12]
std::vector<int> vec(arr, &arr[sizeof(arr)/sizeof(arr[0])]);
std::sort(vec.begin(), vec.end());

int sum, i;
for(sum=0, i = vec.size()-1; i >= 0; --i) sum += vec[i];
std::cout << "sum=" << sum << " sum-min-max=" << sum - vec[0]-vec[vec.size()-1] << std::endl;

return 0;
}
2019-06-28 8:45 am
你可以用bubble sort的方法重排列array數值,然後由數值1加到數值10就成


收錄日期: 2021-04-24 10:42:37
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20190627155935AA76UTC

檢視 Wayback Machine 備份