算法入门-第一天-字符串处理

系统:Linux Fedora 22

IDE: CodeBlocks

编译器:gcc

1,TeX中的引号

在Tex中,左双引号是" `` ",右双引号是" ' ' "。输入一篇包含双引号的文章,你的任务是把它转换成TeX

格式

样例输出:

" To be or not to be," quoth the Bard," that is the question."

样例输出:

``To be or not to be,''quoth the bard,``that is the question.''

实现代码如下:

#include <stdio.h>
int main ()
{
    int c, q = 1;
    while ((c = getchar()) != EOF)
    {
        if  (c == '"')
        {
            printf("%s",q ? "``" : "''");
            q = !q;
        }
        else
            printf("%c",c);
    }
    return 0;
}

2,手放在键盘上,稍不注意就会往右输错一位,这样,输入Q会变成输入W,输入J会变成输入K。

输入一个错位后敲出的字符串(所有字母均大写),输出打字员本来想打出的句子。输入保证合法。即一定是错位后的字符串。例如输入中不会出现大写字母A。

样例输入:

O S, GOMR YPFSU/

样例输出:

I AM FINE TODAY.

示例代码:

#include <stdio.h>

char s[] = "`1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";

int main ()
{
    int i ,c;
    while ((c = getchar()) != EOF)
    {
        for (i = 1; s[i] && s[i] != c; i++);  //找错位之后的字符在常量表中的位置
        if  (s[i]) putchar(s[i-1]);           //如果找到,则输出她前面的一个字符
        else putchar(c);
    }

    return 0;
}

欢迎关注微信公众号 eatingworld,里面有大量编程学习资源^_^。

时间: 2024-09-27 09:54:34

算法入门-第一天-字符串处理的相关文章

[C# 3.0 入门] [第一章 Lambda表达式] 第四节

[C# 3.0 入门] [第一章 Lambda表达式] 第四节:Lambda的用途 & 类型声明能够和不能够省略的情况 成问题的是,虽然为了源代码的简洁性,很想用Lambda表达式,但是要写的代码却不能全部都用Lambda表达式来写. 那么, Lambda表达式究竟能做到什么程度呢? 习惯了C/C++编程风格的程序员,一定以为因C#语法与之很相似,所以用C#编写相对复杂的程序应该也没有问题.可是很遗憾,情况不是这样.那是因为C/C++具有能写出复杂功能的表达式的逗号表达式,而C#却没有. 例如,

【算法入门】广度/宽度优先搜索(BFS)

广度/宽度优先搜索(BFS) [算法入门] 1.前言 广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略.因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名.  一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想成立的. 算法导论里边会给出不少严格的证明,我想尽量写得通俗一点,因此采用一些直观的讲法来伪装成证明,关键的point能够帮你get到就好. 2.图

Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipeline

引子       很久没更新了,今天写点关于Asp.Net MVC的PipeLine.首先我们确认一点,Asp.Net WebFrom和Asp.Net MVC是在.Net平台下的两种web开发方式.其实他们都是基于Asp.Net Core的不同表现而已.看下面一张图,我们就能理解了WebForm和Asp.Net MVC的一个关系了. 那好我们了解了Asp.Net平台下的两种开发方式,相信大家对于WebForm的Pipeline都非常熟悉了,当然这也是你熟悉Asp.Net开发的必经之路.而看了很多

[C# 3.0 入门] [第一章 Lambda表达式] 第五节

[C# 3.0 入门] [第一章 Lambda表达式] 第五节:Lambda表达式的使用范例 & Lambda表达式的各种变体 Lambda表达式的使用范例 到现在为止的例子大多数,完全都是从文法上到功能上的说明,多数情况下不必使用Lambda表达式也能够写出来.最后,我还是来展示几个有一定实用性的Lambda表达式的实例. 这里是一个,输入整形的数组,以其值为除数,执行除法运算后输出结果的程序.因为要执行除法运算,所以输入的值可能存在不能接受的值(0)的情况(就是说,这个示例代码可以在输入值不

读取打开txt文件的第一行字符串,并处理

问题描述 textBox1.text==openFileDialog1.Filename;StreamReadersreader=newStreamReader(textBox1.Text,Encoding.Default);textBox2.Text=sreader.ReadLine();//这段代码是不是就是只读我打开的文本文件的第一行字符串????$aaa,444,000.1,xxx.x,12345678,111111111$aaa,444,000.3,xxx.x,12345678,111

慕课网“JAVA入门第一季”课程受偏爱 超5万人学习

作为国内最大的IT技能学习平台--慕课网,2014年12月4日再次创造业内一项行业奇迹.2014年6月9日上线的"JAVA入门第一季"课程经过短短5个月的时间,学习人数突破5万,创造行业首个单门课程学习人数奇迹.如此惊人的数据,令笔者不得不对慕课网的课程做了一个小小的深入研究. 视频讲解+在线编程,混合式教学边学边练引领行业平台优势. 在互联网海量的IT学习资源中,慕课网的JAVA课程为何备受学习者青睐,成为5万用户的选择?这和慕课网独家的课程设计有必然关系.视频课程+在线编程实操平台

《嵌入式设备驱动开发精解》——2.3 嵌入式开发入门第一步

2.3 嵌入式开发入门第一步 当我们谈论嵌入式开发的时候,最常听到的就是嵌入式开发是如何地难学,比如既需要一定的开发语言基础,又需要相关的数.模.电方面的知识,难道嵌入式真的那么难吗?其实难与不难最关键是一个入门的问题,等真正入了门就会发现先前的努力与汗水都是值得的,你会迈入一个全新的世界.入门嵌入式开发确实有一定的难度,因为它不像学习Java,只要有一台PC,然后按照教科书的例子一个个抄下来,通过一段时间的学习就能编写小的程序了,并且在PC上能立刻看到执行的效果,也可以一步一步地跟踪调试编写的

字符串替换-mysql如何替换第一位字符串

问题描述 mysql如何替换第一位字符串 在网上找了好多资料,都是解决替换字符串中出现的指定字符的方法.而没发现如何替换第n位字符串的方法.就比如下面那张图片,如何把arrchildid字段开头的3替换成2,而其它位置的3则不改变.希望大神们赐教赐教 解决方案 难道就真的没有人会吗.... 解决方案二: 难道就真的没有人会吗.... 解决方案三: mysql字符串替换mysql字符串替换mysql 替换函数replace()实现mysql 替换字符串

Asp.Net MVC3 简单入门第一季 【索引贴】

初识Asp.Net MVC2.0 初识Asp.Net MVC2.0[续] Asp.Net MVC2.0 Url 路由入门---实例篇 Asp.Net MVC2.0 Url 路由入门 Asp.Net MVC3 简单入门第一季(一)环境准备 Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目 Asp.Net MVC3 简单入门第一季(三)详解Controller之Filter Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipe