第3章 标准库类型 课后习题
来源:互联网 发布:淘宝比较好的女装店 编辑:程序博客网 时间:2024/06/06 10:02
3.1
答:
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main()
{
int v1,v2,s=1;
cout<<"请输入两个数,第一个为底数,第二个为指数,计算它们的值:"<<endl;
cin>>v1>>v2;
for(int i=0; i<v2; i++)
{
s*=v1;
}
cout<<"最后的值为:"<<s<<endl;
return 0;
}
3.2
答:构造函数是类中的一种特殊的函数,但有的类中没有这一种函数。当用这些类来创建一个对象时,
构造函数就用来初始化一些变量。
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.3
答:
string s1("Hello,world!");
string s2(n,'c');
string s3;
当使用string对象时,需要导入string头文件
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.4
答:当没有给一个string对象初始化时,它将会被默认为一个空串。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3.5
答:
----------------------输入一行-------------------------
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
int main()
{
string line;
while(getline(cin,line))
{
cout << line << endl;
}
return 0;
}
----------------------输入一词-------------------------
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
int main()
{
string world;
while(cin>>world)
{
cout << world << endl;
}
return 0;
}
3.6
答:
cin输入操作符见到空白字符后,后面就当作下一个单词的开始
getline则有无空白字符,都会一直检测到一行的结尾
或者:
当输入一个字符串的前者有空白时,cin是不会理会的,当遇到空白时就终止
而getline()不会忽略一个字符串前的空白,只有遇到换行时,才终止
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.7
答:
---------------这是大小的比较---------------
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1;
string s2;
cout<<"请输入两个字符串,以空格或换行区分开来:"<<endl;
cin>>s1;
cin>>s2;
if(s1 == s2)
{
cout<<"你输入的两个字符串相等"<<endl;
}
else
{
cout<<"你输入的两个字符串不相等"<<endl;
if(s1 > s2)
{
cout<<"s1大于s2"<<endl;
}
else
{
cout<<"s1小于s2"<<endl;
}
}
return 0;
}
---------------------这是长度的比较-------------------------
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1;
string s2;
cout<<"请输入两个字符串,以空格或换行区分开来:"<<endl;
cin>>s1;
cin>>s2;
if(s1.size() == s2.size())
{
cout<<"你输入的两个字符串长度相等"<<endl;
}
else
{
cout<<"你输入的两个字符串长度不相等"<<endl;
if(s1.size() > s2.size())
{
cout<<"s1长度大于s2"<<endl;
}
else
{
cout<<"s1长度小于s2"<<endl;
}
}
return 0;
}
3.8
答:
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
int main()
{
string world;
while(cin>>world)
{
cout << world << endl;
}
return 0;
}
----------------------------------------------------
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1;
string s2;
string s3;
string s4;
string s;
cout<<"请输入4个string对象,依次以空格或换行隔开。"<<endl;
cin>>s1;
cin>>s2;
cin>>s3;
cin>>s4;
s = s1+' '+s2+' '+s3+' '+s4+' ';
cout<<"连接后的字符串为:"<<s<<endl;
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3.9
答:这个程序的功能是输出一个空串的第一个元素,它在编译器中是可以通过的,但是没有意义。
--------------------------------------------------
它是不合法的,因为它是长度为0,输出s[0]显然是不合法的,但在有些编译器中可以通过的
-------------------------------------------------------------------------------------------------------------------------------------------------------------2.10
答:
#include <iostream>
using std::endl;
using std::cin;
using std::cout;
using std::string;
int main()
{
string s;
string ss;
cout<<"请输入一个带标点符号的字符串:"<<endl;
cin>>s;
for(string::size_type index = 0; index != s.size(); ++index)
{
if(!ispunct(s[index]))
{
ss += s[index];
}
}
cout<<"去掉标点符号后的字符串为:"<<endl;
cout<<ss<<endl;
return 0;
}
3.11
答:b不正确,因为用a去初始化b , 类型不一致。
------------------------------------------------------------
因为svec定义为保存string对象的vector对象,而ivec是保存vector <int> 对象的vector对象(即ivec是vector的vector),二者的元素类型不同,所以不能用ivec来初始化svec.
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.12
答:
a: 不确定,如果有元素,如果标准库给它初始化,那么将初始化为0
b: 10个0
c: 10个42
d: 不确定,如果有元素,标准库将它初始化为空串
e: 10个空串
f:: 10个hello
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3.13
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.14
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.15
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.16
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.17
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3.18
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.19
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.20
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.21
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.22
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3.23
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------3.24
答:
-------------------------------------------------------------------------------------------------------------------------------------------------------------- 第3章 标准库类型 课后习题
- C++ Primer 第3章 标准库类型习题+答案
- 学习Opencv第3章课后习题
- 第2章 变量和基本类型 课后习题
- Welcome to JAVA!(第3章课后习题)
- Java 编程思想 第3章课后习题解答
- 第3章 标准库类型
- 第3章 标准库类型
- 第3章:标准库类型
- 第3章 标准库类型
- 学习Opencv第2章课后习题
- 学习Opencv第4章课后习题
- 第7章课后习题4
- 算法导论 第7章 课后习题
- 第2章 算法分析:课后习题
- 第1章 快速入门 课后习题
- 第5章 表达式 课后习题
- 第6章 语句 课后习题
- 黑马程序员——C语言基础2
- java内部类
- google cardboard的测评
- 进入全球信息总库全球联盟社区bbs.siiiz.com全球宣传联盟www.siiiz.com全球宣传大全相关便民服务电话网站您想要的便民服务电话和相关联系方式都有
- [算法之排序]希尔排序算法 (java实现)
- 第3章 标准库类型 课后习题
- 数据结构第六章 图 知识导图
- STL学习小结
- 全球联盟、全球宣传联盟www.siiiz.com的全球服务战略研发团队以博大的胸怀,高端的智慧、精锐的目光、敏捷的思维,超前的理念和大气磅礴的策略,精心协作研究制作了全球全新的真正意义上的全球联盟、全
- LCD原理解析
- 拓扑排序
- 数据结构第七章 查找技术 知识导图
- Fatal error: Maximum execution time of 30 seconds exceeded in
- 微信自动加好友 模拟位置