/* 2009-3-1 * 读入一组整数到vector对象,计算并输出没对相邻元素的和。如果读入元素个数为奇数, 则提示用户最偶一个元素没有求和,并输出其值。然后修改程序,头尾互置 */ #include <iostream> #include <vector> #include <stdlib.h> using namespace std; void Test1() { vector <int> iNum; int ivar; bool ood=false; cout << "输入一组整数并按Ctrl+z 结束程序" << endl; while (cin >> ivar) { iNum.push_back(ivar); } if (iNum.size() % 2 != 0) { ood=true; } int result; for (vector <int> ::size_type i = 0;i < iNum.size()-1; i+=2) { result = iNum[i] + iNum[i+1]; cout << result << endl; } if (ood) { cout << "奇数个" << endl; cout << iNum[iNum.size() - 1]; } } //这里没有搞对,我的方法非常的笨啊。答案的方法好的多,它利用左右两个哨兵来搞定的, //其实这就是快速排序方法中的那个啊!!!基础还是太差! void Test2() { vector <int> iNum; int ivar , temp; bool ood=false; cout << "输入一组整数并按Ctrl+z 结束程序" << endl; while (cin >> ivar) { iNum.push_back(ivar); } for (vector <int> :: size_type i = 0;i <= iNum.size() / 2; ++i) { temp = iNum[i]; iNum[i] = iNum[iNum.size()-i]; iNum[iNum.size()-i-i] = temp; } for (vector <int> :: size_type i = 0; i < iNum.size(); ++i) { cout << iNum[i]; } } int main() { Test2(); system("pause"); return 0; }