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.明天复习第十二章
随机推荐
- ASP.NET操作Excel(终极方法NPOI)
ASP.NET操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,能够帮助开发者在没有安装微软Office的情况下读写Office 97-200 ...
- docker harbor 安装 使用总结
总结:没有验证,但是猜测. 我这个harbor的机器上 有起了一个 docker的 registry, 5000端口的,不知道是不是二者冲突. 猜测是这个情况. 1. 安装参考 收藏的链接 1.1 ...
- 【BZOJ3622】已经没有什么好害怕的了 容斥+DP
[BZOJ3622]已经没有什么好害怕的了 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output ...
- Sass之二(进阶篇)
源码链接:http://pan.baidu.com/s/1o8M51hC 1. 数据类型 1.1 Number 数字类型,小数类型,带有像素单位的数字类型,全部都属于Number类型 Number类型 ...
- Ubuntu 16.04修改配置静态IP和DNS
Ubuntu 16.04修改配置静态IP和DNS 1.修改interfaces 文件 sudo gedit /etc/network/interfaces 2.添加 例如: auto enp0s25 ...
- 拼团商品列表页 分析 js代码行位置对执行的影响和window.onload的原理 setTimeout传参
w TypeError : Cannot set property 'innerHTML' of nullTypeError : Cannot set property 'value' of null ...
- 转载(web app变革之rem)
rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...
- python基础-第五篇-5.3装饰器
小白发呆的看着窗外,同事们陆陆续续的地来到公司,想起算法,小白就飘飘然了.突然后面传来一声呼唤,原来是小刘! 小刘:不好意思啊!堵车了,就来晚了点,不耽误你的时间,咱们就开启的今天的培训内容吧! 小白 ...
- python基础-第九篇-9.1初了解Python线程、进程、协程
了解相关概念之前,我们先来看一张图 进程: 优点:同时利用多个cpu,能够同时进行多个操作 缺点:耗费资源(重新开辟内存空间) 线程: 优点:共享内存,IO操作时候,创造并发操作 缺点:抢占资源 通过 ...
- JUnit4 测试示例
1. JUnit4 测试示例 // Calculator.java public class Calculator{ public int add(int a, int b){ return a + ...