hdu 1075 map的使用 字符串截取的常用手段 以及string getline 使用起来的注意事项
首先说字符串的截取套路吧 用坐标一个一个的输入
用遍历的方式逐个去检查字符串中的字符是否为符合的情况 如果是的话 把该字符放入截取string 中 让后坐标前移
如果不是的话 截取结束 坐标初始化
然后是map的使用 头文件为 <map>
定义的话 map<类型,类型> 变量名
对于map中值的传入的话 直接用数组的形式就好
这里由于有搜索 所以还要用到find函数 如果找不到的话 find返回值为end()
再就是string 类型变量的使用要注意 string类型的变量在下次对其更改之前会自动释放自己的内容
题目
from fiwo
hello difh
mars riwosf
earth fnnvk
like fiiwj
END
START
difh, i'm fiwo riwosf.
i fiiwj fnnvk!
END
i like earth!
#include<map>
#include<string>
#include<iostream>
using namespace std;
int main()
{
string str,b,d;
char s[60];
int i,begin,end,j;
map<string,string> fuck;
cin>>str;
while(cin>>str&&str!="END")
{
// if(str=="END") break;
cin>>b;
fuck[b]=str;
}
cin>>str;
getchar();/// 这里尤其要注意 在用getline和scanf(%c)有点像 对于事先输入的值回车要getchar
j=0;
while(getline(cin,str)&&str!="END")
{
// if(str=="END") break;
// cout<<str<<endl;
for(i=0;i<str.length();i++)
{
if(str[i]>='a'&&str[i]<='z')
{
s[j++]=str[i];// 由于string的自动释放 所以用s定义为数组比较好
// cout<<s[j-1]<<endl;
}
else
{
s[j]='\0';
// cout<<s<<endl;
j=0;
d=s;
if(fuck.find(d)!=fuck.end())
{
cout<<fuck[d];
}
else cout<<d;
cout<<str[i];
}
}
cout<<endl;
}
return 0;
}
hdu 1075 map的使用 字符串截取的常用手段 以及string getline 使用起来的注意事项的更多相关文章
- hdu 1075 (map)
http://acm.hdu.edu.cn/showproblem.php?pid=1075 What Are You Talking About Time Limit: 10000/5000 MS ...
- hdu 4018 Parsing URL(字符串截取)
题目 以下引用自百度百科: sscanf 的相关用法 头文件:#include<stdio.h> 1. 常见用法. 1 2 3 charbuf[512]; sscanf(" ...
- php实现中文字符串截取各种问题
用php截取中文字符串会出现各种问题,做一简单汇总,文中的问题暂时还未解决,有大神解决了问题欢迎指教 <?php header('Content-Type:text/html;charset=u ...
- 整理:C#常用字符串操作,常用数值类型转换
一.字符串操作 1. 字符串连接 //将指定的数组所有元素拼接为一个字符串 string[] arr = {"A","B","C"}; st ...
- 【freemaker】之文本,html文本,去除空格,字母大小写,循环数组,字符串截取,map取值,遍历map
测试代码 @Test public void test06(){ try { root.put("emp", "<span color='red'>你好张三& ...
- 数组遍历 map()、forEach() 及 字符串切割 split() / 字符串截取 slice()、substring()、substr()
JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代 ...
- HDU 1075 What Are You Talking About(Trie的应用)
What Are You Talking About Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K ...
- hdu2112HDU Today(floyd+map数组对字符串的应用)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- MySQL字符串函数substring:字符串截取
MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...
随机推荐
- git只提交修改部分的代码
思路: 先用git status 查找出哪些文件被修改过了,然后 只git commit odin/code/pom.xml 1. $ git status (查看当前更改的代码) On branch ...
- python 设计模式之适配器模式 Adapter Class/Object Pattern
#写在前面 看完了<妙味>和<华医>,又情不自禁的找小说看,点开了推荐里面随机弹出的<暗恋.橘生淮南>,翻了下里面的评论,有个读者从里面摘了一段自己很喜欢的话出来, ...
- flutter PopupMenuButton弹出式菜单列表
import 'package:flutter/material.dart'; class PopupMenuButtonDemo extends StatefulWidget { @override ...
- Android 打开相册拍照选择多张图片显示
添加依赖: compile 'me.iwf.photopicker:PhotoPicker:0.1.8' compile 'com.jaeger.ninegridimageview:library:1 ...
- openresty开发系列13--lua基础语法2常用数据类型介绍
openresty开发系列13--lua基础语法2常用数据类型介绍 一)boolean(布尔)布尔类型,可选值 true/false: Lua 中 nil 和 false 为"假" ...
- Django 将APP存储至统一目录
项目根目录下创建apps目录 mkdir apps 将应用移动到apps目录下 这里取消 search for references ,open moved files in edito 选择 ...
- ES6深入浅出-5 新版对象-1.如何创建对象
对象属性的加强: 可以通过new Object(), Object.create()方法,或者使用字面量标记(初始化标记)初始化对象. 一个对象初始化器,由花括号/大括号 ({}) 包含的一个由零个或 ...
- STM32驱动模数转换芯片ADS1120(PT100铂电阻测温度)第2篇
1. 先看下原理图,原理图是电流从IDAC1流出,提供驱动,然后R(REF)这个电阻上的电压作为参考,读取AIN0和AIN1的电压,那么可以测量出来电阻值. 2. 上图是官方给出的参考,下图是我实际用 ...
- web端自动化——自动化测试准备工作
准备工作# 在开始自己项目的自动化测试之前,我们最好已经完成了下面的准备工作: 1.熟悉待测系统 对项目的待测系统整体功能和业务逻辑有比较清晰的认识. 2.编写系统的自动化测试用例大纲和自动化测试用例 ...
- TortoiseSVN安装和使用(转)
http://blog.csdn.net/Zhihua_W/article/details/64904692?locationNum=2&fps=1 https://www.cnblogs.c ...