洛谷P1765 手机_NOI导刊2010普及(10) 关于cin和getline的一些区别 以及一些STL
一. cin>>s:
cin>>是由两部分构成的,cin和>>,其中cin是输入流istream类的一个对象,隶属于iostream函数库
而>>则是运算符:这个运算符的作用是:从左侧cin对象中读取数据,并将它赋给右侧的运算对象.
1.>>运算符是由右侧的数据类型定义的,右侧的数据类型不同,重载的>>也不同
2.>>运算符是向左结合的
3.>>运算符从cin对象中读取数据时:如果遇到空格或者换行符号,那么这次读取数据结束,将空格之前的数据赋给右侧的运算对象,相应的,读取的第一个符号,也是空格或者换行符之后的第一个有效数据
4.一个>>运算符一次只能读取一次(一个)数据,要想读取多个数据,只能再加>>运算符
二.getline()
1.它是String对象定义的,只能string对象用(当然<<也是String对象重载的)
2.**getline遇到空格不结束!!!也就是说它可以从cin对象中读取空格!!**当然,遇到换行仍然结束,但是他也会读取换行符,但是读取换行符之后后停止读取,然后将读取的数据(此时包括换行符)赋给右侧的运算对象(x,见下),赋值的时候,丢弃换行符!!!,也就是说换行符不存到x中
getline的返回值是流参数和cin>>表达式一样,返回cin>>
3.getline是一个函数的形式:
**总结:使用getline必须使用string定义的字符串,并且cin不能读空格或者换行符。但是getline不受影响
————————————————
版权声明:本文为CSDN博主「birate_小小人生」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014183456/article/details/88323575
代码1
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,ans=0;
string s;
int num[26]={1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4};
getline(cin,s); //如果改成cin>>s; 则会出现错误
for(i=0;i<s.length();i++){
if(s[i]>='a'&&s[i]<='z'){
ans+=num[s[i]-'a'];}
if(s[i]==' '){
ans++;}
}
cout<<ans;
return 0;
}
代码2
#include<bits/stdc++.h>
using namespace std;
int main()
{
int ans=0;
map<char,int>ma; //定义map,把char类型转化成int 此处不能用string,因为string的+不是数字相加!!
ma['a']=1;ma['b']=2;ma['c']=3;ma['d']=1;ma['e']=2;
ma['f']=3;ma['g']=1;ma['h']=2;ma['i']=3;ma['j']=1;
ma['k']=2;ma['l']=3;ma['m']=1;ma['n']=2;ma['o']=3;
ma['p']=1;ma['q']=2;ma['r']=3;ma['s']=4;ma['t']=1;
ma['u']=2;ma['v']=3;ma['w']=1;ma['x']=2;ma['y']=3;
ma['z']=4;ma[' ']=1;
string word;
getline(cin,word);
for(int i=0;i<word.length();i++)
{
ans=ans+ma[word[i]];
}
cout<<ans<<endl;
}
洛谷P1765 手机_NOI导刊2010普及(10) 关于cin和getline的一些区别 以及一些STL的更多相关文章
- 洛谷 P1765 手机_NOI导刊2010普及(10)
题目描述 一般的手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz * 0 # 要按出英文字母就必须要按数字键多下.例如要按出 ...
- 洛谷—— P1765 手机_NOI导刊2010普及(10)
https://www.luogu.org/problem/show?pid=1765#sub 题目描述 一般的手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 ...
- P1765 手机_NOI导刊2010普及(10)
P1765 手机_NOI导刊2010普及(10) 题目描述 一般的手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz * 0 ...
- 洛谷 P1767 家族_NOI导刊2010普及(10)
题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏.现在给你岛上的 ...
- 洛谷——P1767 家族_NOI导刊2010普及(10)
P1767 家族_NOI导刊2010普及(10) 题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝 ...
- 洛谷 P1777 帮助_NOI导刊2010提高(03) 解题报告
P1777 帮助_NOI导刊2010提高(03) 题目描述 Bubu的书架乱成一团了!帮他一下吧! 他的书架上一共有n本书.我们定义混乱值是连续相同高度书本的段数.例如,如果书的高度是30,30,31 ...
- 洛谷 P1769 淘汰赛制_NOI导刊2010提高(01)
P1769 淘汰赛制_NOI导刊2010提高(01) 题目描述 淘汰赛制是一种极其残酷的比赛制度.2n名选手分别标号1,2,3,…,2^n-1,2^n,他们将要参加n轮的激烈角逐.每一轮中,将所有参加 ...
- 洛谷 P1801 黑匣子_NOI导刊2010提高(06)(未完)
P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...
- 题解 P1765 【手机_NOI导刊2010普及(10)】
说实话,打表真的很累! 所以小金羊又开始暴力出奇迹了! 这个题解适合初学者使用. 知识点:string里面的str.find()函数: 可以查找字符串和字符,有就返回位置(开头是0), 没有就返回st ...
随机推荐
- TFT液晶显示屏之绘图板应用
应用范例: 使用 TOPWAY Smart LCD (HMT043FC-1C) 绘图板应用 第一步建立工程 ① 开TOPWAY TML Graphic Editor 2017 V1.04软件, 点击菜 ...
- RabbitMQ工作模式
------------恢复内容开始------------ RabbitMQ基本概念: Producer:生产者(消息的提供者) Consumer:消费者(消息的使用者) Message:消息(程序 ...
- smartforms设置表格脚标在最后一页显示
用户打印采购订单时,末尾计算一个合计金额,但是有多页时,合计显示在了每一页,现在希望合计项只显示在表格最后一行就可以. smartforms调整表格,将总计放在脚标内,设置脚标输出打印[在表结束处]即 ...
- 6.python设置代理和添加镜像源介绍
为什么要修改镜像源? 一般使用python安装库,会用到pip install xxx 指令或者conda install xxx指令,因为pip和conda默认国外镜像源,这时会在Python的官方 ...
- java循环语句 总结笔记
1.for 循环语句 语法:for(initialization;condition;iteration) public class A { public static void main(Strin ...
- H5Demo_password_generator
原项目资源地址: https://www.html5tricks.com/js-passwd-generator.html codepen地址: https://codepen.io/deuscx/p ...
- C#连接数据库的方法
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- html网页基本概念
什么是网页?html文档经过浏览器内核渲染后展示出来的页面(五大主流浏览器及四大内核) html文档文件名后缀是.html,之前存在的.htm是为支持DOM系统(目前织梦还是用.htm文件名结尾文件) ...
- Unity容器实现AOP面向切面编程
为什么要有AOP 需求总是变化的,比如经常会对一些方法后期增加日志.异常处理.权限.缓存.事务的处理,遇到这种情况我们往往只能修改类. 为了应对变化,我们常常使用设计模式解决,但是也有其局限性:设计模 ...
- PostgreSQL内核学习笔记四(SQL引擎)
PostgreSQL实现了SQL Standard2011的大部分内容,SQL处理是数据库中非常复杂的一部分内容. 本文简要介绍了SQL处理的相关内容. 简要介绍 SQL文的处理分为以下几个部分: P ...