第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

答:

-------------------------------------------------------------------------------------------------------------------------------------------------------------




0 0
原创粉丝点击