第三章 3.3.1节练习 & 3.3.2节练习

练习3.12

下列vector对象的定义有不正确的吗?如果有,请指出来。对于正确的,描述其执行结果;对于不正确的,说明其错误的原因。

(a) vector<vector<int>> ivec;

(b) vector<string> svec = ivec;

(c) vector<string> svec(10, "null");

解答:

(a)(c)是正确的。

(b)不能将一个vector<vector<int>>对象赋给vector<string>对象。


练习3.13

下列的vector对象各包含多少个元素?这些元素的值分别是多少?

(a) vector<int> v1;

(b) vector<int> v2(10);

(c) vector<int> v3(10, 42);

(d) vector<int> v4{10};

(e) vector<int> v5{10, 42};

(f) vector<string> v6{10};

(g) vector<string> v7{10, "hi"};

解答:

(a) 0个

(b) 10个,0 (感谢a6112489同学的勘误)

(c) 10个,都是42

(d) 1个,10

(e) 2个,10和42

(f) 10个,空字符

(g) 10个,“hi”


练习3.14

编写一段程序,用cin读入一组整数并把它们存入一个vector对象。

解答:

#include <iostream>
#include <vector>

using namespace std;

int main(){
	vector<int> ivec;
	int num;
	while (cin >> num){
		ivec.emplace_back(num);
	}
}

练习3.15

改写上题的程序,不过这次读入的是字符串。

解答:

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main(){
	vector<string> wvec;
	string word;
	while (cin >> word){
		wvec.emplace_back(word);
	}
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值