- 博客(12)
- 收藏
- 关注
原创 C++primer 第五版练习9.43 练习9.44
用迭代器总是编译无法通过用下标可以妥妥的编译过练习9.43 在程序检测出与oldva[0]相等的第一个字符后。 在s中截取一块长为oldval.size()的string 与 oldval相比较 , 相等则置换再多的语句抵不上一个 compare()函数来的方便。。。compare(下标_初始位置,长度,要比较的string) 相等返回 0;#include<io...
2018-05-18 16:09:17 259
原创 C++primer第五版 练习6.7
耍个小机灵第一次定义为-1即可, 即可实现第一次调用为 0,以后调用叠加。#include<iostream>using namespace std;int ca(){ static int i=-1; return ++i; }int main(){ for(int j=0;j!=10;++j) cout<<ca()<<" ";
2017-11-30 10:42:21 209
原创 c++primer第五版 练习5.21
使用continue判断重复单词以大写开头很重要的一个细节就是: 即使是那些非大写单词由于他们被输入过,所以迭代时候要注意 后值要传给前值;对于字符串使用cin输入时是有风险的 比如你想输入的是 “ Li LEI” 中间含间隔然而使用cin读取字符串的时候,却把他们分成两个字符串 。。。个人觉得字符串 使用 getline(cin,变量) 来整行输入好些。。 毕竟字符串不同于其他变量使用g
2017-11-26 16:09:26 256
原创 c++primer第五版 练习5.20
重复两次终止,无重复则输出任何单词无重复#include<iostream>#include<vector>#include<string> #include<cstdlib>using namespace std;int main(){ string i,j; int cnt=1; if(cin>>i) { while(cin>>j)
2017-11-26 12:29:25 319
原创 c++primer第五版 练习5.17
如何让自由输入让两个vector长度不一致书中介绍的初始化vector方法有 。。 1 ,使用列表初始化 2,使用传统for语句限定长度用push_back输入。。 然而弊端很明显 首先两vector长度被你认为选定了 3,使用while循环。。 这倒实现了vector不限定长度的问题。。 但让vector还是不太容易 ,或者像我之前一样只能使一个ve
2017-11-26 11:24:13 323
原创 C++primer第五版 练习5.14
统计连续出现的单词及其出现的最大次数这道练习使可以参考本书第一章那个 例题的 但统计最大次数,出现最多的单词。 就需要自己去补充啦创建整型变量cnt用来计数,temp表示临时值,max存放最大值字符串i为第一次输入后作为每次与新输入比较的对象 字符串j用作每次新输入 t用来存最大的单词。还用了exit(0)来实现函数直接终止。。失误啊,未考虑到输入的字符串中有重复次数一样的终版程序#incl
2017-11-23 22:04:42 299
原创 C++primer 5 :3.6节练习,练习3.43,练习3.44,练习3.45
3.43 auto功能的强大让我叹为观止 。。简直就是让你随心所欲。。。版本一:使用范围for语句,最重要注意的是使用引用!!!!!!!!!!#include<iostream>using namespace std;int main(){ int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; for(int (&i)[4] : a) //i对
2017-11-20 14:29:53 384
原创 c++primer5 题3.36
数组的话长度基本都限制的死死的 毫无意思。。。 *而vector就灵活的多,可让它长可让它短 先定义空vector,再输入多少个数来确定它的长度就比较灵活了。。。。 这题我耗费了许多时间来去想,终于成功实现自己的想法 讲解一下。。。**本程序还有一点小要求,就是b一定要输入一次以上。。。使得q不为空vector;1.可以让输入的两个不同的vector长度不一致 当然只能是前面长后面
2017-11-19 16:12:48 213
原创 C++primer5 题3.25
用下表运算符。。 这题要求有点多余,练习也就罢了,vector下标来做成绩分级计数就很不错了。。我是通过创建一个数组(vector的影子),然后用数组给vector初始化来解决的#include<iostream>#include<vector>#include<string>using namespace std;int main(){ unsigned grade=0,b[1
2017-11-19 11:05:47 205
原创 c++primer5 题3.24
3.24 想法略粗糙看见另一答主的表示很惊叹 我的需要用j来控制迭代器的位置**注意的地方有j#include<iostream>#include<string>#include<vector>using namespace std;int main(){ int a=0,b=0,j=0; vector<int> v; while(cin>>a)
2017-11-17 18:07:43 148
原创 c++primer5 3.20答案
3.20 (1)注意后一个数 j+1的范围,不然可能出错#include<iostream>#include<string>#include<vector>using namespace std;int main(){ int a=0; vector<int> p; while(cin>>a) p.push_back(a); for(int j=0
2017-11-17 15:45:14 243
原创 c++primer5 3.17
3.17**使用范围for语句转换为大写,关键是要注意使用引用**#include<iostream>#include<vector>#include<string>using namespace std;int main(){ string a; vector<string> v; while(cin>>a) if(!a.empty())
2017-11-17 15:40:21 219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人