一个简单问题

RookieAC 2008-03-06 09:28:41
我是刚开始,准备系统学下c++
现在在看《essential c++》
课后题1.6
撰写一个程序,从标准输入装置读取一串数字,并将读入的数字依次置入array和vector中,然后遍历他们,求这些数字的和 和 平均数,并输出

我就基本照书敲的
vector的
#include <iostream>
#include <vector>
using namespace std;

int main()
{
vector<int> myVet;
int number;
while (cin>>number)
{
myVet.push_back(number);
}
int sum=0,average;
for (int i=0;i<myVet.size();i++)
{
sum+=myVet[i];
}
average=sum/myVet.size();
cout<<"sum="<<sum<<endl<<"average="<<average<<endl;

return 0;
}

array的
#include <iostream>
using namespace std;

int main()
{
const int array_size=128;
int myArray[array_size];
int counter=0,inputNum;
while (cin>>inputNum&&counter<array_size)
{
myArray[counter]=inputNum;
counter++;
}
int sum,average;
for (int i;i<counter;i++)
{
sum+=myArray[i];
}
average=sum/counter;
cout<<sum<<" "<<average<<endl;

return 0;

}

问题是这样的!
vector的,我运行之,挨个输入数字,然后当我输入一个字母的时候,程序停止运行,输出和 和平均数;
array的,我运行之,挨个输入数字,然后当我输入一个字母的时候,程序就提示说,1_6.exe遇到问题需要关闭。可以选择“调试”或“关闭”!

另外,
我还在vector的程序里多加了几行代码
if (number=10)
{
break;
}
else
我本意是想,如果是我输入10,就让程序停止掉!但是错误的,运行时候,同样出现了说1_6.exe遇到问题需要关闭。可以选择“调试”或“关闭”!

我也知道问题比较弱,但还是希望有人可以回答我一下!
谢谢了!
...全文
47 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
RookieAC 2008-03-06
  • 打赏
  • 举报
回复

这样啊
哈哈

太谢谢你了
hastings 2008-03-06
  • 打赏
  • 举报
回复
if (number=10)//换成==
{
break;
}
else
hastings 2008-03-06
  • 打赏
  • 举报
回复
第二个没初始化:

int sum(0),average;
for (int i(0);i <counter;i++)
{
sum+=myArray[i];
}
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-06 09:28
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下