编写程序计算 sentence 中有多少个单词,并指出其中最长和最短的单词。如果有多个最长或最短的单词,则将它们全部输出。
/*已知有如下 string 对象:
9.39:
string line1 = "We were her pride of 10 she
named us:";
string line2 = "Benjamin, Phoenix, the
Prodigal"
string line3 = "and perspicacious pacific
Suzanne";
string sentence = line1 + ' ' + line2 + ' ' +
line3;
编写程序计算 sentence 中有多少个单词,并指出其中
最长和最短的单词。如果有多个最长或最短的单词,则
将它们全部输出。*/
int main(void)
{
string line1 = "We were her pride of 10 she named us : ";
string line2 = "Benjamin, Phoenix, the Prodigal";
string line3 = "and perspicacious pacific Suzanne";
string sentence = line1 + ' ' + line2 + ' ' + line3;
cout<<sentence.c_str()<<endl;
int num = 0, count = 0; string strs; vector<char> str; vector<string>strss;
while (num< sentence.size())
{
if (isalnum(sentence.c_str()[num]))
str.push_back(sentence.c_str()[num]);
if (isalnum((sentence.c_str()[num++])) && !isalnum((sentence.c_str()[num])))//非字母做运算
{
count++;
}
}
strs.assign(str.begin(), str.end());
string::size_type pos = 0, pos1 = 0; vector<char>str1; string strs1; vector<string>strss1;
while ((pos = sentence.find_first_not_of(strs, pos)) != string::npos)
{
for (pos1; pos1 < pos; pos1++)
if (isalnum(sentence[pos1]))
str1.push_back(sentence[pos1]);//计算字串做单词
strs1.assign(str1.begin(),str1.end());//复制字符串到string对象
strss1.push_back(strs1);//入栈string对象到string容器
str1.erase(str1.begin(), str1.end());//清除前面多余字符串
pos1 = pos;//定位到下个单词
++pos;//定位到下个坐标
}
vector<int> value;
for (int i = 0; i < strss1.size(); i++)
{
value.push_back(strss1[i].size());
}
int max = value[0], min = value[0];
for (int i = 1; i < value.size(); i++)
{
if (max < value[i])
max = value[i];
if (min > value[i]&&value[i]!=0)
min = value[i];
}
//for (size_t i = 0; i != value.size(); i++)
//{
// cout << strss1[i];
//cout << value[i] << endl;
//}
cout << "最短单词有:" << endl;
for (int i = 0; i < value.size(); i++)
{
if (strss1[i].size() == min)
{
cout << strss1[i]<<'\t';
}
}
cout << endl<<"最长单词有:" << endl;
for (int i = 0; i < value.size(); i++)
{
if (strss1[i].size() == max)
{
cout << strss1[i] << '\t';
}
}
cout << endl<<"sentence拥有" << count << "单词";
return 0;
}
编写程序计算 sentence 中有多少个单词,并指出其中最长和最短的单词。如果有多个最长或最短的单词,则将它们全部输出。相关推荐
- C语言学习之分别用while、for 编写程序,计算2*4*6*......*100的值
分别用while.for 编写程序,计算246*-*100的值 for语句 #include <stdio.h> void main(){int x,multiply=1;for(x=1; ...
- C语言学习之分别用while、for 编写程序,计算1+2+3+......+100的值
分别用while.for 编写程序,计算1+2+3+-+100的值 for语句 #include <stdio.h> void main(){int x,add=0;for(x=1;x&l ...
- 编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?...
[判断题]卤素灯泡是在灯泡内充入氟.氯等卤素气体. [单选题]我国刑法第12条关于溯及力的规定采取的是( ). [填空题]本地局域网 LAN 内, () 和无绳电话速率较低,主流带宽是 100kbps ...
- j1_8。实现打折功能关键算法。编写程序计算购买图书的总金额。
j1_8_01 编写程序计算购买图书的总金额:用户输入图书的定价和购买图书的数量,并分别保存到一个 float 和一个 int 类型的变量中,然后根据用户输入的定价和购买图书的数量,计算购书的总金额并 ...
- c语言for循环1到100奇数和,使用for循环结构编写程序计算1到100之间的奇数之和、偶数之和,输出格式为“1到100奇数和=xxx;1到100偶数和...
题目: 使用for循环结构编写程序计算1到100之间的奇数之和.偶数之和,输出格式为"1到100奇数和=xxx:1到100偶数和=xxx". 解答: int jishuhe = 0 ...
- 编写程序计算圆的面积和周长
# 学习目标: 编写程序计算圆的面积和周长 学习内容: c语言练习每日一练 编写程序计算圆的面积和周长.已知pi定义为3.14. **输入格式要求:"" 提示信息:"请输 ...
- 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为20:40,则整个旅途所用时间为04:40。
题目描述 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间.比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为20:40,则整个旅途所用时间为04:40.题目保证出发时间 ...
- 问题 E: 1.10 旅行时间 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。
问题 E: 1.10 旅行时间 时间限制: 1 Sec 内存限制: 128 MB 提交: 8001 解决: 4162 [提交] [状态] [讨论版] [命题人:fuwx] 题目描述 根据火车的出发时间 ...
- 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。
[题目描述] 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间.比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为,则整个旅途所用时间为4:40.输入格式仅一行,包含2个 ...
最新文章
- python中元组_理解python中的元组
- 我的世界服务器老是显示已断开,为什么我的服务器玩家老是掉线 - 有问必答 - 最MC论坛 - 我的世界_Minecraft_联机_服主_资讯_MOD_皮肤_交流_作品_中文论坛...
- Java的native关键字
- 【笔记】opencv图像运算 图像加密
- linux调小根目录,Linux根目录分区大小调整教程
- 【Time系列一】datetime的妙用
- broker可以禁用吗 time_Win8.1系统Runtime Broker是什么进程?可以禁用吗?
- python 声音合成_使用python进行声音生成/合成?
- 计算机组成原理4(程序查询方式、程序中断方式、DMA方式及其I/O接口电路)
- 常见Linux版本概览
- c语言宠物管理系统,请用C语言编出一个简单的宠物管理系统。
- matlab中或者的表达,MATLAB
- 千峰JAVA逆战班Day33
- 跟计算机相关的商标类别,一体电脑商标注册属于第几类?
- ajax 传递对象 返回状态500
- 输入虚拟手机服务器地址,输入服务器url地址
- 李一男离开华为时给属下的忠告
- 解决 ros 16.04找不到公钥的问题
- 浙大计算机科学与技术专业课表,周亚金 - 浙江大学 - 计算机科学与技术
- 使用 js 实现累乘之和
热门文章
- chrome postman插件_一款 Postman 的开源替代品: Postwoman
- DIY逗比的时钟,制作资料100%开源!
- PCB工程师的7个好习惯
- Linux系统如何测试电脑性能,如何使用DD命令测试Linux磁盘的性能?
- 自己动手写CPU(3)逻辑、移位操作与空指令
- 新闻发布系统类图_如何熟悉一个系统?(内含知识大图)
- python写一个自动登录脚本_Python 实现自动登录+点击+滑动验证功能
- 外架小横杆外露长度规范要求_脚手架各部位构造要求解读!
- 01初识鸿蒙_移动通讯技术的发展
- php获取本月工作日,ThinkPHP中获取指定日期后工作日的具体日期方法