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.明天复习第十二章
随机推荐
- gulp报错160
gulp报错: 这种提示,说明端口被占用,并且要改端口号,首先,我需要把Apache服务器关掉, 然后在gulpfile.js里: 把8080的端口号加进去.就解决了
- Android中可自由移动悬浮窗口的实现
http://www.xsmile.net/?p=538 调用WindowManager,并设置WindowManager.LayoutParams的相关属性,通过WindowManager的ad ...
- (N)IO Frameworks in Java
(N)IO Frameworks in Java – Thread.currentThread.join() https://www.ashishpaliwal.com/blog/2008/10/ni ...
- IBM DEVOPS IN CLOUD--chaos monkey
- 【Flask】在Flask中使用logger
https://blog.csdn.net/yannanxiu/article/details/53557657 Flask在0.3版本后就有了日志工具logger,在Flask的官方文档中这么记载: ...
- wordcount(C语言)
写在前面 上传的作业代码与测试代码放在GitHub上了 https://github.com/IHHHH/gitforwork 本次作业用的是C语言来完成,因为个人能力与时间关系,只完成了基本功能,扩 ...
- Django1.6 运行manage.py 报错解决办法(ImportError)
django项目中运行manage.py python manage.py runserver 出现如下错误提示: Traceback (most recent call last): File &q ...
- LInux中的文件系统1
2017-03-08 10:37:55 一.虚拟文件系统VFS 文件系统用于将位于磁盘上的文件按照某种方式组织进内存,并给上层应用程序提供统一的访问接口.Linux支持多种文件系统EXT2/3,NTF ...
- Mybatis框架学习总结-使用Mybatis对表执行CRUD操作
使用MyBatis对表执行CRUD操作——基于XML的实现 1.创建(create)用户:在userMapper.xml文件中增加: <!-- 创建用户Create --> <ins ...
- python中的抽象方法
python中的抽象方法 父类要限制1.子类必须有父类的方法2.子类实现的方法必须跟父类的方法的名字一样 import abc class A(metaclass=abc.ABCMeta): @abc ...