c++primer 3.2,3.3练习题

文章目录

      • 3.2.2 string 对象上的操作
      • 3.2.3 处理string对象中的字符
      • 3.3.2 向vector对象中添加元素
      • 3.3.3其他vector操作

练习题涉及到代码的部分。

3.2.2 string 对象上的操作

3.2

//一次输入一整行
#include<string>
#include<iostream>
using namespace std;int main(){string line;cout<<"cin : ";while(getline(cin,line)){cout<<"cout : ";cout << line << endl;}return 0;
}
/*
cin : dskhfsdfj dflk dkf ewr
cout : dskhfsdfj dflk dkf ewr
*///一次输入一个词:
#include<string>
#include<iostream>
using namespace std;int main(){string word;cout<<"cin : ";while(cin >> word){cout<<"cout : ";cout << word << endl;}return 0;
}
/*
cin : a v a d ss dfdfk dsfls
cout : a
cout : v
cout : a
cout : d
cout : ss
cout : dfdfk
cout : dsfls
*/

3.3 string类的输入运算符和getline函数分别是如何处理空白字符串的?

  • 输入运算符:

在使用cin执行读取操作时,string对象会忽略开头空白,从第一个字符开始,到下一个空白结束。

  • getline函数:

如果说在最终字符串中保留输入时的空白,使用getline函数替代>>。

函数从给定的输入流中读取数据,直到遇到换行符为止(换行符也被读进来了),然后把所读的内容存放在string对象里(这里面不存在换行符)。

如果输入一开始就是个换行符,那么所得结果是一个空string。

3.4

//比较是否相等
#include<string>
#include<iostream>
using namespace std;int main(){string s1 , s2;int i = 0;while(getline(cin,s1) && getline(cin,s2)){if(s1 == s2)cout << "equal";else if(s1 > s2)cout<<s1;else cout<<s2;cout<<endl;cout<<endl;}return 0;
}
/*
aaasa
bbsd
bbsdasdlsf
asdlsf
equalavklfs
vs
vsklk
kl
klk*/
//比较是否等长#include<string>
#include<iostream>
using namespace std;int main(){string s1 , s2;int i = 0;while(getline(cin,s1) && getline(cin,s2)){if(s1.size() == s2.size())cout << "equal";else if(s1.size() > s2.size())cout<<s1;else cout<<s2;cout<<endl;cout<<endl;}return 0;
}
/*
sajdlsafldlsf
adsa
sajdlsafldlsfsakdkfjldsf
saddfkgorjgojoe
saddfkgorjgojoesd
sd
equal*/

3.5

#include<string>
#include<iostream>
using namespace std;int main(){string s1 , s2;while(cin >> s1){s2 =s2 + s1;}cout<<s2;return 0;
}
/*
dfjdslf
dfds
sdf
sdf
dsf
^Z
dfjdslfdfdssdfsdfdsf
*/#include<string>
#include<iostream>
using namespace std;int main(){string s1 , s2;int i = 0;while(cin >> s1){if(i==0){s2 = s2 + s1;i++;}elses2 = s2 + " " + s1;}cout<<s2;return 0;
}
/*
dfj
sad
ads
asd
adsf
bg
dsf
^Z
dfj sad ads asd adsf bg dsf
*/

3.2.3 处理string对象中的字符

3.6、3.7

#include<string>
#include<iostream>
using namespace std;int main(){string s(10,'c');for(auto &a : s)a = 'X';cout<<s<<endl;return 0;
}
/*
XXXXXXXXXX
*/
#include<string>
#include<iostream>
using namespace std;int main(){string s(10,'c');for(char &a : s)a = 'X';cout<<s<<endl;return 0;
}
/*
XXXXXXXXXX
*/

3.8

#include<string>
#include<iostream>
using namespace std;int main(){string s(10,'c');for(decltype(s.size()) i = 0; i != s.size(); ++i){s[i] = 'X';}cout<<s<<endl;return 0;
}
/*
XXXXXXXXXX
*/#include<string>
#include<iostream>
using namespace std;int main(){string s(10,'c');decltype(s.size()) index = 0; while(index != s.size()){s[index] = 'X'; ++index;}cout<<s<<endl;return 0;
}
/*
XXXXXXXXXX
*/

3.10

#include<string>
#include<iostream>
using namespace std;int main(){string s;getline(cin,s);decltype(s.size()) index = 0; for(auto c : s)if(ispunct(c))continue;elsecout<<c;return 0;
}
/*
i love you more_than i can say!! 521 ***()6&&&*^&%%&$%^#^%*(&789><::>::<
i love you morethan i can say 521 ()6789
*/

3.3.2 向vector对象中添加元素

3.14

#include<vector>
#include<iostream>
using namespace std;int main(){vector<int> a;int b;while(cin>>b){a.push_back(b);}return 0;
} 

3.15

#include<vector>
#include<iostream>
#include<string>
using namespace std;int main(){vector<string> a;string b;while(cin>>b){a.push_back(b);}return 0;
} 

3.3.3其他vector操作

3.16

#include<vector>
#include<iostream>
#include<string>
using namespace std;int main(){vector<int> v1;vector<int> v2(10);vector<int> v3(10,42);vector<int> v4{10};vector<int> v5{10,42};vector<vector<int>> v{v1,v2,v3,v4,v5};vector<string> v6{10};vector<string> v7{10 , "hi"};vector<vector<string>> vv{v6,v7};int k = 1;cout<<"v"<<k<<" : ";for(auto i : v){for(auto j : i){cout<<j<<" ";}cout<<endl;cout<<"v"<<++k<<" : ";}for(auto i : vv){for(auto j : i){cout<<j<<" ";}if(k+1==8) break;cout<<endl;cout<<"v"<<++k<<" : ";}return 0;
} 
/*
v1 :
v2 : 0 0 0 0 0 0 0 0 0 0
v3 : 42 42 42 42 42 42 42 42 42 42
v4 : 10
v5 : 10 42
v6 :
v7 : hi hi hi hi hi hi hi hi hi hi
*/

3.17

#include<string>
#include<vector>
#include<iostream>
using namespace std;int main(){vector<string> v;string word;while(cin >> word){for(auto & c : word)c = toupper(c);v.push_back(word);}for(auto s : v)cout<<s<<endl; return 0;
}
/*
hudhfds
dsfhds
sdf
sdfi
we
wer
c
^Z
HUDHFDS
DSFHDS
SDF
SDFI
WE
WER
C
*/

3.20

#include<string>
#include<vector>
#include<iostream>
using namespace std;int main(){vector<int> v;int a;while(cin >> a){v.push_back(a);}decltype(v.size()) n = v.size();for(decltype(v.size()) i = 0; i <= n-1-i; ++i){if(i == n-1-i)cout<<v[i]<<endl;elsecout<<v[i]+v[n-1-i]<<endl;}return 0;
}
/*
1
2
3
4
5
^Z
6
6
3
*/
/*
1
2
3
4
^Z
5
5
*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++primer 3.4练习题

文章目录3.4 迭代器介绍3.4.1 使用迭代器3.4.2 迭代器运算3.4 迭代器介绍 3.4.1 使用迭代器 3.21 #include<vector> #include<iostream> #include<string> using namespace std;int main(){vector<int> v1;vector<int> v2(10);vector<int&…

嵌入式nosql php,NoSQL 嵌入式数据库NeDB示例

在nw.js一直无法配置sqlite3数据库&#xff0c;所以一直使用web sql数据库&#xff0c;不过还原之类的操作异常麻烦&#xff0c;打算使用NeDB数据库&#xff0c;非关系型数据库的扩展性很适合数据结构不确定性的nw.js项目。在Capacitor或cordova打包APP使用需引用&#xff1a;n…

logisim无法打开解决办法

打开报错&#xff1a;the registry refers to a nonexistent java Runtime Environment installation or the runtime is corrupted. 我明明装了1.8的jdk&#xff0c;环境变量也配置好了。但是还显示没有jdk环境。 解决办法&#xff1a; 命令行输入&#xff1a; d:cd D:\lo…

php 10的次方,动态 - 1的10次方 - OSCHINA - 中文开源技术交流社区

你们都说得对&#xff0c;可是下面这个代码怎么优化呢&#xff1f;public String(int[] codePoints, int offset, int count) {if (offset < 0) {throw new StringIndexOutOfBoundsException(offset);}if (count < 0) {throw new StringIndexOutOfBoundsException(count)…

单片机实验:交通灯控制

实验要求 按照电路要求在Protues中设计电路图&#xff0c;或者使用开发板。编程实现如下功能&#xff1a; 用单片机端口作输出口&#xff0c;控制四个方向共12个发光二极管亮灭&#xff0c;模拟交通灯管理。功能描述如下&#xff1a;初始态为四个路口的红灯全亮之后&#xff0…

单片机实验:节日彩灯控制器

任务 设计8路节日彩灯控制器&#xff0c;要求在Protues中设计接口电路图&#xff0c;并编程实现节日彩灯闪烁方式的控制&#xff1a; 通过P1.0到P1.2来控制3个按键。3个按键分别对应3种彩灯闪烁方式。彩灯闪烁方式分别为&#xff1a;从上往下的循环、从下往上以及从中间向两边…

oracle关联分组查询,oracle中关联查询、分组查询

高级查询1.关联查询作用&#xff1a;可以跨越多表查询--查询出员工的名字和他所在部门的的名字//古老的写法select first_name,name from s_emp,s_dept where s_emp.dept_id s_dept.id;//现在的写法select e.first_name,s.name from s_emp e join s_dept s on e.dept_id s.id…

单片机实验:数据区传送程序

任务 将单片机片内存储器存储区首地址设置为60H、片外存储器存储区首地址设置为4000H&#xff0c;存入片内存储区内容为04H-14H共17个字节 &#xff0c;读取片内首地址为60H单元内容&#xff0c;将该内容传送到片外数据存储器存储区中保存(首地址4000H)&#xff0c;将保存在片…

shapefile导入oracle,shp2sdo.exe用法:shpfile导入OracleSpatial

在使用OracleSpatial时&#xff0c;不免需要将shpfile导入&#xff0c;本人使用shp2sdo.exe和oracle内置工具(sqlplus和sqlldr)来完成&#xff0c;使用熟了还比较方便&#xff0c;主要是手动操作四步,本人是在windows中进行的,导入cities.shp。1. 转换数据格式首先使用shp2sdo.…

信号与系统实验:信号抽样

已知一个连续时间信号f(t)sinc⁡(t)f(t)sinc⁡(t)f(t)sinc⁡(t)&#xff0c;取最高有限带宽频率fm1Hzf_m1Hzfm​1Hz &#xff08;1&#xff09;分别显示原连续信号波形和 fsfm、fs2fm、fs3fmf_sf_m、f_s2f_m、f_s3f_mfs​fm​、fs​2fm​、fs​3fm​三种情况下抽样信号的波形。…

php http 500 内部服务器错误,解决:phpmyadmin http 500 内部服务器发生错误

phpMyAdmin 设置(phpMyAdmin 4.2.9):下载解压缩后,打开phpMyAdmin 目录找到config.sample.inc.php 文件,将改文件名改成config.inc.php修改config.inc.php 文件找到以下代码并将cookie 改成http/* Authentication type */$cfg[Servers][$i][auth_type] cookie;改成$cfg[Server…

php 的html文件怎么打开,什么是html文件?html格式如何打开?(图)

打开html的软件有&#xff1a;1、记事本&#xff1b;2、Adobe Dreamweaver软件&#xff1b;3、sublime text软件&#xff1b;4、notepad软件&#xff1b;5、vscode软件等等。有时我们会遇到html格式的文件需要打开&#xff0c;那么什么是html格式&#xff1f;该怎么打开html格式…

信号与系统实验:用Matlab表示常用连续时间信号

(1)单位阶跃信号u(t)u(t)u(t) function yheaviside(t) y(t>0);单位阶跃信号的MATLAB源程序如下&#xff1a; t-10:0.001:10; yheaviside(t); plot(t,y,r);(2)单位冲激信号δ(t)δ(t)δ(t) 单位冲激信号的MATLAB源程序如下&#xff1a; x-100:0.1:100; ydirac(x); %狄拉克…

信号与系统实验:Matlab求连续时间信号的傅里叶变换

1.用Matlab符号运算求解法求单边指数信号f(t)e−2tu(t)f(t)e^{-2t}u(t)f(t)e−2tu(t)的FT MATLAB源程序为&#xff1a; ftsym(exp(-2*t)*heaviside(t)); fwfourier(ft)运行结果为&#xff1a; fw 1/(2 w*1i)2.用Matlab符号运算求解法求F(jw)11w2F(jw)\frac{1}{1w^2}F(jw)1…

oracle11g基目录和主目录,Red Hat Enterprise Linux4.0 安装oracle11g

在linux环境下安装前的准备1.内存空间大小 最少1GB的物理内存查看现有内存的命令#grep MemTotal /proc/meminfo2.交换分区的大小内存和交换分区的配置关系内存 (MB) 交换分区256~512 内存的2倍513~2048 内存的1.5倍2049…

数据结构实验:一元多项式计算器

一、实验内容及要求 1.任务描述&#xff1a; 实验内容&#xff1a; 设有一元多项式Am(x)和Bn(X)&#xff0c;编程实现多项式Am(x)和Bn(x)的加法、减法和乘法运算。其中多项式描述为&#xff1a; Am(x)A0A1x1A2x2A3x3….Amxm&#xff1b; Bn(x)B0B1x1B2x2B3x3….Bnxn。 输入和…

php保存gbk字符串,php判断字符串gbk/utf8编码和转换

代码就点击进来看吧。前段时间聊天的时候卜卜口提到可以由程序提取歌曲文件的ID3信息&#xff0c;这样就免去那些音乐上传时候用户填写表单的步骤。仔细想想这么利国利民的东西必需试试&#xff01;首先考虑到的就是编码的判断&#xff0c;在网上找到别人写好的代码&#xff0c…

数据结构实验:城市交通咨询模拟系统

一、 实验目的 1&#xff0e;目的&#xff1a;掌握图的存储、构建、搜索等操作和应用&#xff0c;能用最短路径及其搜索等算法编制较综合性的程序&#xff0c;求解最优路线问题&#xff0c;进行程序设计、数据结构和算法设计等方面的综合训练。 2&#xff0e;任务&#xff1a;…

传感器信号处理仿真实验(c语言实现),均值滤波,滑动滤波

文章目录总结test1、动态显示一段正弦波信号的曲线&#xff1a;test2、现提供随机信号函数&#xff0c;随意设定两路不同幅度的随机信号&#xff0c;动态显示出来。test3、用均值法将原始的传感器信号进行滤波处理test4、用滑动滤波法将原始的传感器信号进行滤波处理总结 1.为…

python和php合成,Python照片合成的方法详解

【相关学习推荐&#xff1a;python教程】文章目录前言Github效果实现过程整体代码前言看电影的时候发现一个照片墙的功能&#xff0c;觉得这样生成照片挺好玩的&#xff0c;于是就动手用Python做了一下&#xff0c;觉得用来作照片纪念的效果可能会不错。P:后面了解到我想做的功…