C++Primer第五版 第三章习题答案(1~10)
来源:互联网 发布:手机切换软件不掉线 编辑:程序博客网 时间:2024/04/28 18:47
第三章
3.1:
知识点:using声明命名空间。注意的是头文件中不应该包含using声明,因为在引用头文件时,会将头文件中的内容拷贝到文件中来,如果头文件中包含了using声明,那么可能每一个头文件中都会包含using声明,可能会造成名字的冲突。
常加:using namespace std ;(将标准库声明)
3.2
知识点:读入一整行和读入一个词主要的差别可以用getline()函数来实现。使用方法:getline(cin , stringname)
#include <iostream>#include <string>using namespace std;void main(){string mystring;while (getline(cin , mystring)){cout<<mystring<<endl;}}一次读入一整行
#include <iostream>#include <string>using namespace std;void main(){string mystring;while (cin>>mystring){cout<<mystring<<endl;}}一次读入一个词
3.3
对于string类的输入函数,它会自动忽略开头的空白(空格、制表符、换行等等),从第一个真正的字符开始直到下一个空白。
对于getline()函数,它会保存字符串中的空白符,它读入数据,直到遇到换行符位置。
3.4
对于字符串的比较:比较的是字符在字典中的顺序 :b>a ,小写字母大于大写字母。
长度比较可以用size()函数。
字符串比较:
#include <iostream>#include <string>using namespace std;void main(){string mystring1 , mystring2;cin>>mystring1>>mystring2;if (mystring1 != mystring2){cout<<(mystring1 >= mystring2 ? mystring1 : mystring2)<<endl;}}
字符串长度比较:
#include <iostream>#include <string>using namespace std;void main(){string mystring1 , mystring2;cin>>mystring1>>mystring2;if (mystring1.size() != mystring2.size()){cout<<(mystring1.size() >= mystring2.size() ? mystring1 : mystring2)<<endl;}else{cout<<"The length of these strings are the same!"<<endl;}}
3.5
连接字符串直接“+”即可。
#include <iostream>#include <string>using namespace std;void main(){string mystring;string sumstring;while (getline(cin ,mystring)){sumstring += mystring;cout<<sumstring<<endl;}}
#include <iostream>#include <string>using namespace std;void main(){string mystring;string sumstring;while (getline(cin ,mystring)){sumstring = sumstring+mystring+" ";cout<<sumstring<<endl;}}我这里投机取巧了~
3.6
#include <iostream>#include <string>using namespace std;void main(){string mystring("cdsiao");int num = mystring.size();for (int i=0 ; i<num ; i++){mystring[i] = 'X';}cout<<mystring;}
注意这里书上使用了C++11的新标准:范围FOR语句,是不支持VS2010的,所以我只能用这种比较笨的方法了。
3.7
这里只用char的话也是可以的,因为每一个元素都是char类型的。
3.8
我这里就是用的传统的for循环,感觉还不错~
while的话也可以,但是我们已经知道循环的次数了,最好还是用for比较好。
3.9
不合法,因为字符串S是一个空字符串,第一个元素是未知的,引用非法。
3.10
#include <iostream>#include <string>using namespace std;void main(){string mystring("cdsi4325#@ao");int num = mystring.size();for (int i=0 ; i<num ; i++){ if (!ispunct(mystring[i])) cout << mystring[i];}}
1 0
- C++Primer第五版 第三章习题答案(1~10)
- C++Primer 中文版 第五版 第三章课后习题答案
- C++Primer第五版 第五章习题答案(1~10)
- C++Primer(第五版) 习题答案
- C++Primer第五版 第三章习题答案(11~20)
- C++Primer第五版 第三章习题答案(21~30)
- C++Primer第五版 第三章习题答案(31~40)
- C++Primer第五版 第三章习题答案(41~45)
- C++primer第五版第三章答案(1)
- C++Primer第五版 第四章习题答案(1~10)
- C++Primer第五版 第六章习题答案(1~10)
- C++Primer第五版 第七章习题答案(1~10)
- C++Primer第五版 第八章习题答案(1~10)
- C++Primer第五版 第九章习题答案(1~10)
- C++Primer第五版 第十章习题答案(1~10)
- C++Primer第五版 第十一章习题答案(1~10)
- C++Primer第五版 第十二章习题答案(1~10)
- C++Primer第五版 第十三章习题答案(1~10)
- 文档转换、在线预览的几种方式以及推荐
- python爬取小视频
- NOIP2016升天记
- 利用java实现发送邮件(这个亲测可用,找了好久)
- 润乾报表并发访问量大的配置
- C++Primer第五版 第三章习题答案(1~10)
- 初试Unity 3D——刚体与碰撞体的比较
- 字节流与字符流的区别详解
- Oracle建DataBase的时候报监听错误信息
- 云计算初探2-使用云服务器快速搭建论坛
- hdu 5687 Problem C
- mybatis 报错: Caused by: org.apache.ibatis.type.TypeException: JDBC requires that the Jdbc
- gcc 编译过分析
- Kafka Consumer