在Essential C++一书课后题1-6的答案中,有了新的发现。
题目概述为:
编写一个程序,从标准输入设备读取一段整数,并将读入的整数依次放到array及vector中,然后遍历这两种容器,求取数值总和。将总和及平均值输出至标准输出设备。
答案代码:
//用vector 解决问题
#include<iostream>
#include<vector> //用vector方式的头文件
using namespace std;
int main()
{
vector<int>ivec; //vector 的定义
int ival; //什么作用?
int sum,average,ix;
while(cin>>ival)
ivec.push_back(ival);
//?while(cin>>ival)
//ivec.push_back(ival);
//输入ival,并存放到ivec中间。
//CT RL+D,再按enter键结束。
//push_back是一个默认得操作函数,作用是在vector的尾部插入一个元素,这个元素的值就是ival的值。
//我们可以在数值被输入时就实时计算总和。
//这里的做法是遍历vector的元素,一一累加
for(sum=0,ix=0;ix<ivec.size();++ix)
sum+=ivec[ix];
average=sum/ivec.size();
cout <<"Sum of"<<ivec.size()
<<"elements:"<<sum
<<".Average:"<<average<<endl;
return 0;
}
新知识点:
int ival;
while(cin>>ival)
//ivec.push_back(ival);
//输入ival,并存放到ivec中间。
//CT RL+D,再按enter键结束。
//push_back是一个默认得操作函数,作用是在vector的尾部插入一个元素,这个元素的值就是ival的值。
//我们可以在数值被输入时就实时计算总和。
重点是学会这个函数的操作以及在执行时如何终止输入开始输出。