- #include <iostream>
- #include <algorithm>
- using std::cout;
- using std::cin;
- using std::endl;
- #include <iomanip>
- using std::setw;
- #include <vector>
- using std::vector;
- void intvector(vector< int > & );
- void outvector(const vector< int > &);
- int main ()
- {
- int i;
- //创建向量容器vv(),v1(),v2();
- vector<int> vv(1),v1(1),v2(1);
- intvector(vv);//数据输入
- vv.back()=0;//因为数据输入时vv.back()为0,所以在此对其进行初始化,作为总和和平均数。
- //求和并求平均
- for (i=0;i<(vv.size()-1);i++)
- vv.back()+=vv[i];
- vv.back()= (vv.back()/(vv.size()-2));
- //对数据进行分组处理
- for (i=1;i<(vv.size()-1);i++)
- if (vv.back()>vv[i])
- v1.push_back(vv[i]);
- else
- v2.push_back(vv[i]);
- /* 此注释部分可以替换下面的数据输出语句*/
- /* for (i=1;i<(v1.size());i++)
- cout << v1[i]<< " ";
- cout <<endl ;
- for (i=1;i<(v2.size());i++)
- cout << v2[i]<< " ";
- cout <<endl;*/
- //数据输出
- cout << vv.back()<<endl;
- outvector(v1);
- outvector(v2);
- return 0;
- }
- //数据输出
- void outvector( const vector< int > &array )
- {
- size_t i;
- for ( i = 1; i < array.size(); i++ )
- cout << array[ i ]<< " ";
- cout << endl;
- }
- /*原intvector函数
- void intvector( vector< int > &array )
- {
- for ( size_t i = 0; i < array.size(); i++ )
- cin >> array[ i ];
- }
- */
- //主要起数据输入的作用
- //根据题的要求,可进行修改
- void intvector( vector< int > &array )
- {
- int temp;
- do{
- cin >>temp;
- array.push_back(temp);
- }while (array.back()!=-1);
- }
- //该片段来自于http://www.codesnippet.cn/detail/2208201410316.html
来源: http://www.codesnippet.cn/detail/2208201410316.html