C++ primer
qq_36393555
这个作者很懒,什么都没留下…
展开
-
C++ primer-练习3.34~3.36
3.34:假定P1和P2指向同一个数组中的元素,则下面程序的功能是什么?什么情况下非法?P1+=P2-P1;功能是让p1指向目前所指元素后第p2-p1个元素。只有当p1为常量指针是,才非法。3.35:编写程序,利用指针将数组中元素置为零。3.36:编写程序,比较两个数组是否相等,比较2个vector是否相等。#include#includeusing原创 2016-11-28 19:04:00 · 1388 阅读 · 0 评论 -
C++ primer-练习6.17
编写一个函数,判断string对象中是否含有大写字母。编写另一个函数,把string对象全都改成小写形式。在这两个函数中你使用的形参类型相同么?为什么?#include#include#includeusing namespace std;bool isbig(const string &s);void changea(string &s);int main(){ s原创 2017-01-25 17:23:38 · 432 阅读 · 0 评论 -
C++ primer-练习5.17
题目:假设有两个包含整数的vector对象,编写一段程序,检验其中一个vector对象是否是另一个的前缀。为了实现这一目标,对于两个不等长的vector对象,只需挑出长度较短的那个,把它的所有元素和另一个vector对象比较即可。例如,如果两个vector对象的元素分别是0、1、1、2 和0、1、1、2、3、5、8,则程序的返回结果应该为真。下面是我写的,我现在看都觉得原创 2016-12-16 20:22:36 · 265 阅读 · 0 评论 -
C++ primer-练习5.14
编写一段程序,从标准输入中读取若干 string对象并查找连续重复出现的单词。所谓连续重复出现的意思是:一个单词后面紧跟着这个单词本身。要求记录连续重复出现的最大次数以及对应的单词。如果这样的单词存在,输出重复出现的最大次数;如果不存在,输出一条信息说明任何单词没有连续出现过。例如,如果输入是:how now now now brown cow cow 那么输出应该表明单词now连原创 2016-12-16 18:28:24 · 634 阅读 · 0 评论 -
C++ primer-练习5.11
题目: 改统计元音字母的程序,使其也能统计空格、制表符和换行符的数量。#include#includeusing namespace std;int main(){ string str; int entercnt, tcnt, spacecnt; entercnt = tcnt = spacecnt = 0; while (getline(cin,str)原创 2016-12-13 14:59:48 · 425 阅读 · 0 评论 -
C++ primer-练习5.12
题目:修改统计元音字母的程序,使其能统计以下含有两个字符的字符序列的数量:ff,fl,fi。#includeusing namespace std;int main(){ char ch; int ffcnt, flcnt, ficnt; ffcnt = flcnt = ficnt = 0; while (cin >> ch) { switch (ch) { c原创 2016-12-13 13:21:46 · 721 阅读 · 0 评论 -
C++ primer-练习5.10
题目:我们之前实现的统计元音字母的程序存在一个问题:如果元音字母以大写形式出现,不会被统计在内。编写一段程序,既统计元音字母的小写形式,也统计大写形式,也就是说,新程序遇到 'a' 和 'A' 都应该递增 aCnt 的值,以此类推。#includeusing namespace std;int main(){ char ch; int acnt, ecnt, icnt,原创 2016-12-13 13:05:32 · 316 阅读 · 0 评论 -
C++ primer-练习3.30~3.32
3.30:指出下面代码中的索引错误。constexpr size_t array_size=10;int ia[array_size];for(size_t ix=1;ix ia[ix]=ix;数组范围0~9,没有ia[10]这个元素3.31:编一个程序,定义一个含有10个int的数组,令每个元素的值就是其下标值。3.32:将上题刚原创 2016-11-22 15:40:00 · 804 阅读 · 0 评论 -
C++ primer-练习3.27和3.28
练习3.27:假设txt_size是一个无参数的函数,它的返回值是int。请回答下列哪个定义是非法的?unsigned buf_size=1024;(a).int ia[buf_size];(b).int ia[4*7-14];(c).int ia[txt_size()];(d).int st[11]="fundamental";(a)错,buf_size不原创 2016-11-22 14:31:09 · 606 阅读 · 0 评论 -
解引用和递增运算符混用来遍历vector
这样的遍历看上去简洁不啰嗦#include#includeusing namespace std;int main(){ vector ivec{ 1,3,0,8,0,-3,99 }; auto p = ivec.begin(); while (p!=ivec.end()&&*p>=0) cout << *p++ << endl; return 0;}原创 2016-12-03 17:01:37 · 289 阅读 · 0 评论 -
利用指针和迭代器遍历二维数组的2种方法
#includeusing namespace std;int main(){ int ia[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; for (auto p = ia; p != ia + 3; p++) { for (auto q = *p; q != *p + 4; q++) cout << *q << ' '; c原创 2016-12-03 13:48:49 · 1328 阅读 · 0 评论 -
C++ primer-练习6.22
编写一个函数,令其交换两个int指针。#includeusing namespace std;void swap(int **pi, int **pj);int main(){ int i = 9, j = 6; int *pi = &i, *pj = &j; swap(*pi, *pj); cout << *pi << endl; cout << *pj <<原创 2017-01-26 09:45:42 · 325 阅读 · 0 评论