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.明天复习第十二章
随机推荐
- git与sourceTree
Window:http://my.oschina.net/lunqi/blog/500881?fromerr=bzaPk1Lx MAC:http://www.ithao123.cn/content-8 ...
- JZOJ.5315【NOIP2017模拟8.19】小串串
Description
- [SCOI2010]序列操作[分块or线段树]
#include<cstdio> #include<iostream> #define lc k<<1 #define rc k<<1|1 using ...
- freenas 11.2踩过的坑
修改SMB最小协议 服务器最小协议由FreeNAS上的sysctl控制. 在System-> Tunables 下添加sysctl来使其永久化:Variable = freenas.servic ...
- HDU 3333 Turing Tree (线段树)
Turing Tree Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- Servlet------>jsp自定义标签5(标签体内容改为大写)
5.把标签体内容改为大写(tld中的配置我就省略了,详细请看jsp自定义标签1) import java.io.IOException; import javax.servlet.jsp.JspExc ...
- SVN部署
1.安装SVN yum install subversion –y 2.配置SVN 建立SVN版本库数据存储目录(svndata)及用户.密码权限目录(svnpasswd) mkdir -p /app ...
- SqlServer SqlBulkCopy批量插入 -- 多张表同时插入(事务)
这段时间在解决一个多个表需要同时插入大量数据的问题,于是在网上找了下,查到说用SqlBulkCopy效率很高,实验后确实很快,10万条数据只要4秒钟,用ef要用40秒.但是我的还需两张表同时插入,且需 ...
- 使用LoadRunner的Web(HTTP/HTML)协议录制手机app脚本
一.打开HP Virtual User Generator,创建虚拟用户脚本,选择Web(HTTP/HTML)协议:
- Tr A--hdu1575(矩阵快速幂)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1575 算是模板吧 #include <iostream> #include <std ...