c++第三十二天
p164~p170:
大致内容
迭代语句
1、while语句。
2、传统for。
3、范围for。
两个注意点是:1- 通常使用auto来确保类型相容,2- 如果需要修改元素则需要使用&符(还可以避免拷贝元素)。
4、do while。
两个特点:1- 条件部分不允许定义变量,2- 不管条件怎么样,都确保至少执行一次循环体。
练习
5.14
#include <iostream>
#include <string>
using namespace std;
int main()
{
// 保存解
int maxl = ;
string maxs = "";
bool twoMax = false;
// 当前单词
int k = ;
string word = "";
// 初始化
cin >> word;
string lastw = word;
k = ;
// 迭代处理
while (cin >> word) {
if (word == lastw) {
// 当前单词和上一个单词相同
++k;
} else {
// 当前单词和上一个单词不同
if (k >= maxl) {
// 处理特殊情况:有两个最大值
twoMax = (k == maxl)? true : false;
maxl = k;
maxs = lastw;
}
// 重置计数
lastw = word;
k = ;
}
}
if (twoMax == true) {
cout << "Without answer" << endl;
} else {
cout << "maxl=" << maxl << endl;
cout << "maxs=" << maxs << endl;
}
return ;
}
5.15
a - ix仅在for语句块中可用
b - 缺少init-statement
c - 逻辑错误
5.16
略。倾向于是用传统for
5.17
#include <iostream>
#include <vector>
using namespace std;
int main()
{
// 这种初始化方式只有c++11才能编译通过
vector<int> v1{, , , };
vector<int> v2{, , , , , , };
// 挑出长度较短的那个
int shortl = (v1.size() > v2.size()) ? v2.size() : v1.size();
// 标志变量
bool is_front = true;
for (int i = ; i != shortl; ++i) {
if (v1[i] != v2[i]) {
// 只要有一个元素不同就退出循环
is_front = false;
break;
}
}
// 输出结论
if (is_front) {
cout << "是前缀!" << endl;
} else {
cout << "不是前缀。" << endl;
}
return ;
}
5.18
略!
5.19
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1, s2;
string short_one;
do {
cout << "请输入两个字符串:" << endl;
cin >> s1 >> s2;
// 赋值号的优先级巨低,要加上括号!!!
cout << (short_one = (s1.size() > s2.size()) ? s2 : s1) << endl;
} while (true);
return ;
}
c++第三十二天的更多相关文章
- 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获
孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...
- 第三百三十二天 how can I 坚持
今天一大早,住的这就施工了,被吵醒了.. 下午去了趟小米之家,小米5还行,黑科技不黑,哈哈. 小米5黑科技不太黑,就知道造词,整体感觉还行,就是感觉屏幕有点长,小米之家人倒是不少,还有老太太去小米之家 ...
- 第二百三十二天 how can I 坚持
早上竟然飘起了大学,可是就下了一会,没有一点学的痕迹. 博客园真不知道怎么回事了,字真的好小了. 晚上回来心情好不好,感觉好累,最近不知道怎么了,约罗娜出来吃个饭怎么都约不出来,咋办呢.哎,愁人. 最 ...
- JavaScript(第三十二天)【Ajax】
2005年Jesse James Garrett发表了一篇文章,标题为:"Ajax:A new Approach to Web Applications".他在这篇文章里介绍了一种 ...
- shell学习三十二天----read读取一行
标准输入输出与标准错误输出 标准输入/输出可能是软件工具设计原则里最主要的观念了.他的构想是:程序应有一个数据来源,数据出口(数据要去哪里),以及报告问题的地方.他们分别叫做标准输入,标准输出和标准错 ...
- python第三十二天-----算法
算法(Algorithm):一个计算过程,解决问题的方法时间复杂度:用来评估算法运行效率的一个东西ps:在日常使用中,请使用sort(),because no zuo no die! 1.冒泡排序:指 ...
- python学习第三十二天函数的闭包
python函数中嵌套另外一个函数,另外一个函数形成一个封闭的环境,里面的那个函数叫做函数的闭包,函数的闭包好处可以保护函数里面的变量,下面讲述函数闭包的实例和用法 1,函数闭包的实例 a='cat' ...
- Java第三十二天,IO操作(续集),读写缓冲区的使用
缓冲区出现原因: Java对IO的读写都是经过中间途经--JVM虚拟机进行管理的,JVM调用OS操作系统继续完成IO操作.如此一来,整个过程耗费了不小的资源,为了尽量减少这样重复的周期性操作,出现了缓 ...
- Java学习的第三十二天
1. 2.综合例题没太看懂 3.明天复习第十二章
随机推荐
- poj_3260 动态规划
题目大意 顾客拿着N种硬币(币值为value[i], 数量为c[i])去买价值为T的东西,商店老板也有同样N种币值的硬币,但是数量不限.顾客买东西可能需要用硬币找零来使得花出去的钱为T,求顾客给老板的 ...
- if...else if...else和switch语句的注意点
java if...else if...else 语句 if 语句后面可以跟 elseif…else 语句,这种语句可以检测到多种可能的情况. 使用 if,else if,else 语句的时候,需要注 ...
- onbeforeunload 适用DOM 0级,不适用 DOM 2级
你可以在控制台试下: window.addEventListener("beforeunload", function () { return 'ss'; }); 我这里 chro ...
- 02.ZooKeeper的Java客户端使用
1.ZooKeeper常用客户端比较 1.ZooKeeper常用客户端 zookeeper的常用客户端有3种,分别是:zookeeper原生的.Apache Curator.开源的zkclie ...
- DPK750针式打印机驱动,750u.dll下载
http://pan.baidu.com/s/1dD1SFvV DPK750针式打印机 下载
- HDU 3450 Counting Sequences(线段树)
Counting Sequences Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Other ...
- Redis集群部署文档(Ubuntu15.10系统)
Redis集群部署文档(Ubuntu15.10系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如 ...
- 如何使用 libtorch 实现 VGG16 网络?
参考地址:https://ethereon.github.io/netscope/#/preset/vgg-16 按照上面的图来写即可. 论文地址:https://arxiv.org/pdf/1409 ...
- 理解MySQL——并行数据库与分区(Partition)
1.并行数据库 1.1.并行数据库的体系结构并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的.对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput), ...
- Redis常见操作
1. 对于key的所有操作 del key1 key2 … keyn 作用:删除1个或者多个键返回值:不存在的key忽略掉,返回真正删除的key的数量 rename key newkey 作用:给ke ...