C++例题 //编写一个程序,从标准输入设备读取一串整数,并将读入的整数依次存放到array及vector中,然后再遍历这两种容器,求其数值总和。将总和及平均值输出至标准输出设备。

原题:

//编写一个程序,从标准输入设备读取一串整数,并将读入的整数依次存放到array及vector中,

// 然后再遍历这两种容器,求其数值总和。将总和及平均值输出至标准输出设备。

//array和vector也像C - style字符串与string的差异一样:

//1.array大小必须固定,而vector可以动态地随元素的插入而拓展储存空间。

//2.array并不存储自身大小。大小固定就意味着我们要考虑到对它的访问可能造成溢出(overflow)。

注意事项:vector如何从键盘接收值?

(需要使用方法 push_back将一个值传递给容器内,但这个值不能直接从键盘接收,需要一个中间变量传递)

push_back、遍历需要size()测量整个容器大小详解

//练习 1.6
//编写一个程序,从标准输入设备读取一串整数,并将读入的整数依次存放到array及vector中,
// 然后再遍历这两种容器,求其数值总和。将总和及平均值输出至标准输出设备。
//array和vector也像C - style字符串与string的差异一样:
//1.array大小必须固定,而vector可以动态地随元素的插入而拓展储存空间。
//2.array并不存储自身大小。大小固定就意味着我们要考虑到对它的访问可能造成溢出(overflow)。
//不过array和C - style字符串不同的是,array并没有像C - style 中null字符(’\0’)这样的“标兵”来表示已到达末尾。
#include<iostream>
#include<vector>
using namespace std;

int main()
{
	vector<int>Array;
	int array[10];
	int number;
	int sum_vector = 0;
	int sum_array = 0;
	float aver_array = 0;
	float aver_vector = 0;
	cout << "请输入共输入多少个整数:";//为了限制最大输入整型个数
	while (1)
	{
		cin >> number;

		if (number > 10 || number <= 0)
		{
			cout << "请输入10个以内的正整数:";
		}
		else
		{
			break;
		}
	}
	cout << "请输入"<<number<<"个整数:";
	for (int i = 0; i < number; i++)
	{
		int mid = 0;
		cin >> mid;//用一个中间变量从键盘接收整数
		Array.push_back(mid);//将变量的值传递给Array容器
		array[i] = Array[i];//目的:间接将接受的值传给了另外一个容器
	}
	//求容器内总和和平均值
	for (int i = 0; i < number; i++)
	{
		sum_array += array[i];//array容器内总和
		sum_vector += Array[i];//vector容器内总和
	}
	aver_array = (float)sum_array / number;//array容器内平均值
	aver_vector = (float)sum_vector / number;//vector容器内平均值

	cout << "array容器内总和为:" << sum_array << endl;
	cout << "vector容器内总和为:" << sum_vector << endl;
	cout << "array容器内平均值为:" << aver_array << endl;
	cout << "vector容器内平均值为:" << aver_vector << endl;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值