题解 P5015 【标题统计】
既然这个题这么水
大家不如来盘点一下算法呗
首先说一个事:逗号表达式
这玩意的值是最后一个表达式的值
那么我们就可以愉快的放进循环条件里摩擦
话说这个应该是基础吧,大多数代码都可以这样干
具体可以后面看代码(会有注释)
好的,下面是正题(真·不正)
方法一:getchar法
(相当于cin.get(a))
这个知识点在我的题解里:
https://www.luogu.org/blog/jelly123/solution-p1200
代码:(getchar)
#include <cstdio>
using namespace std;
int main()
{
char a;int s=0;
while(a=getchar(),a!='\n')
{//↑就是了,循环先输入后判断,真香QWQ
if (a!=' ')
{
s++;
}
}
printf("%d",s);
return 0;
}
好了,我们暂且撤离,看看cin.get()版:
#include <cstdio>
using namespace std;
int main(){char a;int s=0;
while(cin.get(a),a!='\n')if (a!=' ')s++;
cout<<s;
return 0;}
方法二:getline法
这个方法小心食用
#include <iostream>
#include <cstring>
using namespace std;
int main(){int count=0,i=0;string input;
getline(cin,input);
for (i=0;i<input.size();i++){
if (input[i]!=' '&&input[i]!='\n')count++;}
cout<<count;return 0;}
//为了缩短长度,将就着看吧
但是cin.getline还没研究出来...
(真是一个蒟蒻啊QAQ)
方法三:gets法
这个方法必须小心(作死)使用!!!
@shm124
感谢这位同学提供的for循环里的核心
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){int ans=0,i=0;char s[8];
memset(s,0,sizeof(s));gets(s);
for(int i=0;i<8;i++)
if(s[i]>='A'&&s[i]<='Z')ans++;
if(s[i]>='a'&&s[i]<='z')ans++;
if(s[i]>='0'&&s[i]<='9')ans++;
cout<<ans;return 0;}
好的,我们现在有了几种基础方法,那能不能看看题...
没错,5个字符,直接顺序不就好了吗...
所以...
方法四:顺序结构硬输入法!!!
@Lhc_fl 真鸡贼啊
#include<bits/stdc++.h>
using namespace std;
int main(){
int ans=0;
char c;
if(cin>>c)ans++; //cin自动去除空格换行
if(cin>>c)ans++; //cin在读不到数据时返回0
if(cin>>c)ans++;
if(cin>>c)ans++;
if(cin>>c)ans++;
cout<<ans;
}
经过了这么多蒟蒻做法(打卡),
不如来看看库函数之类的蹭一蹭...
方法五:库函数摩擦法(附加迭代)
感谢dalao@黄H睿R %%%
#include<iostream>
#include<string>
#include<cctype>
using namespace std;
string st;
int ans;
int main()
{
getline(cin,st);
for(string::iterator it=st.begin();it!=st.end();it++)//使用迭代器
if(isalnum(*it))
ans++;
cout<<ans;
return 0;
}
方法五里面:#include是库函数的库,
库函数是isalnum(*it),没错,一开始我没有加上...
然而我们的方法并没有完...
彩蛋一:
#include<iostream>
using namespace std;
int ans=0;
char s;
int main()
{
while(cin>>s)if(s!=' ') ans++;
cout<<ans<<endl;
return 0;
}
强制输入...注意win 系统下调试
((ctrl+z)+enter)×2即可..
彩蛋二:
现在我们的c++更新真快啊..
合并都只需要+-了吗?!
然而是的...
@Nova_守门员
你的题解我进行了优化,主函数真是简单
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
string input()
{
char ch;
string str="";
ch=getchar();
while(ch!='\n')
{
if (ch!=' ')str+=ch;
ch=getchar();
}
return str;
}
int main()
{
string s;
s=input();
cout<<s.size();
}
好了,就说这么多(真少)
有什么问题请评论...
纯知识点整理贴(放心,真人测试可AC)
蒟蒻求过,辛苦到家
题解 P5015 【标题统计】的更多相关文章
- P5015 标题统计
P5015 标题统计 ‘ ’ 不等于空格,空格是个字符 代码: #include<iostream> #include<cstdio> #include<cmath& ...
- NOIP2018普及T1暨洛谷P5015 标题统计 题解
题目链接:https://www.luogu.org/problemnew/show/P5015 分析: 这道题大概是给个签到分吧.很显然的字符串操作.本篇题解主要帮助初学者,请大佬略过. 首先给大家 ...
- 『题解』洛谷P5015 标题统计
题意描述 给你一个字符串,求所有字符的总数. 字符只包含数字,大小写字母. 分析 字符串的长度还是\(\le5\)的. 直接枚举就可以了. AC代码: NOIP官方标准程序是这样的 #include ...
- 洛谷 P5015 标题统计
第一道题很简单,标签:字符串.模拟. 只需要一个判断去除空格就对了: if(a[i]!=' ' && a[i]!='\n') v++; code: #include<iostre ...
- [题解]NOIP2018(普及组)T1标题统计(title)
NOIP2018(普及组)T1标题统计(title) 题解 [代码(AC)] #include <iostream> #include <cstdio> #include &l ...
- [Noip 2018][标题统计 龙湖斗 摆渡车 对称二叉树]普及组题解
啊喂,都已经9102年了,你还在想去年? 这里是一个Noip2018年PJ第二题打爆的OIer,错失省一 但经过了一年,我学到了很多,也有了很多朋友,水平也提高了很多,现在回看当时: 今年的Noip ...
- 【洛谷p5015】标题统计
(写上瘾了再来一篇吧) 标题统计[传送门] 洛谷算法标签 字符串这种东西,我看到是崩溃的.因为我们只学到了二维数组[这个梗自行get],总之我们当时还没有学.然后显然就是各种翻书,各种百度.大致了解了 ...
- 洛谷 题解 P5015 【标题统计】 NOIP2018 普及组 T1
没有人用 scanf("%c", &ch) != EOF 吗? scanf 和 EOF 会伤心的. 思路:逐个读入字符,遇到EOF中止,对于每个读入的字符进行判断. 附上考 ...
- 【NOIP2018】标题统计-C++
描述 凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大.小写英文字母.数字字符.空格和换行符.统计标题字符数时,空格和换行符不计算在内. 输入 输入文件名为 tit ...
随机推荐
- 记Thinkpad的一次扩容升级经历
俗话说:" 工欲善其事,必先利其器" 阅读目录: 背景 目标 准备 友情提示 制作引导盘 分区及备份 拆机装盘 重装系统 写在结束的 参考资料 背景: 作为一个近六年的IT从业Co ...
- windows下Mysql安装启动及常用操作
1.下载mysql https://dev.mysql.com/downloads/ 2.配置环境变量 变量名:MYSQL_HOME 变量值:E:\MySql\mysql-8.0.15-winx64\ ...
- 英特尔® 实感™ 前置摄像头 SR300 和 F200 的比较
原文地址 简介 SR300 是支持 Microsoft Windows 10 操作系统的第二代英特尔® 实感™ 前置摄像头. 与 F200 摄像头型号相似,SR300 使用编码光深技术,在更小范围内创 ...
- SICP读书笔记 1.3
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...
- QSS 样式示例:QTreeWidget, QComboBox,QSlider,QSpinBox
目录 Image 填充整个控件的区域 QTreeWidget QSpinbox 的上翻下翻按钮和箭头 QComboBox 的设置,大坑 QSlider 最近需要对一个软件加上Qt界面和 的样式,第一次 ...
- 【python 3.6】笨办法取出列表中的字典的value
#python 3.6 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'BH8ANK' x = {'RegionSet': [{' ...
- 论文笔记:Fully-Convolutional Siamese Networks for Object Tracking
Fully-Convolutional Siamese Networks for Object Tracking 本文作者提出一个全卷积Siamese跟踪网络,该网络有两个分支,一个是上一帧的目标,一 ...
- Altera FPGA AS,PS,Jtag配置模式区别
Altera FPGA AS,PS,Jtag配置模式区别 FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式. AS模式(active seri ...
- Spring Task中的定时任务无法注入service的解决办法
1.问题 因一个项目(使用的是Spring+SpringMVC+hibernate框架)需要在spring task定时任务中调用数据库操作,在使用 @Autowired注入service时后台报错, ...
- 一个小时搭建一个全栈 Web 应用框架
把想法变为现实的能力是空想家与实干家的区别.不管你是在一家跨国公司工作,还是正在为自己的创业公司而努力,那些有能力将创意转化为真正产品的人,都具有宝贵的技能并拥有明显的实力.如果你能在不到一个小时的时 ...