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

系统: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,里面有大量编程学习资源^_^。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值