关于容器的问题
#include <iostream>
#include <vector>
int main()
{
using std::vector;
vector <int> num;
int sum,i;
vector <int> ::size_type n=0;
for(vector <int> ::size_type n=0;std::cin> > i;n++)
{
num.push_back(i);
sum+=num[n];
}
if(n%2==0)
{
std::cout < <sum/n;
system( "PAUSE ");
return 0;
}
else
{
std::cout < < "The last number doesn 't add into the sum " < <std::endl;
std::cout < <(sum-i)/(n-1);
system( "PAUSE ");
return 0;
}
}
小弟新学c++,在《c++ primer 4th》中3.13的习题做出来,编译器没报错,但是运行结果不对,不知道错在哪里!
应该不是编译器的问题,vc和dev-c++都不行,问题应该出在
vector <int> num;
int sum,i;
vector <int> ::size_type n=0;
for(vector <int> ::size_type n=0;std::cin> > i;n++)
{
num.push_back(i);
sum+=num[n];
}
这一段,因为我用std::cout < <sum;时,系统说非法调用内存,希望哪位大哥帮忙说一下
[解决办法]
#include <iostream>
#include <vector>
using namespace std;
int main()
{
using std::vector;
vector <int> num;
int i;
int sum =0;
vector <int> ::size_type n=0;
while(cin> > i){
num.push_back(i);
sum+=num[n];
n++;
}
if(n%2==0)
{
std::cout < <sum/n;
system( "PAUSE ");
return 0;
}
else
{
std::cout < < "The last number doesn 't add into the sum " < <std::endl;
std::cout < <(sum-i)/(n-1);
system( "PAUSE ");
return 0;
}
}