• 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*.

      //  其实原版中文是让变成  ''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);
        }
      fflush(stdin);
    return 0; }

    首先呢,问题是挺简单的,我所以要摘录下来,是感觉这些细节问题确确实实是我们平常要学习的,以小见大,逐渐提升自己敲出的代码的质量。

    最简单的,如果想要不停的输入

    while((c=getchar())!=EOF)

    这行代码无疑是一个很好的参考的例子。干净利落。(使用这个时候,最好在末尾加上fflush(stdin);,然后结束时Ctrl+Z,然后回车即可)

    随着我们写出越来越多的代码后,就会发现用个布尔值控制其代码的流向的办法是多么的优雅,自然

        printf("%s",q?"+":"*");
                q=!q;

    这里的控制也真的挺棒的。

    关于布尔值的使用,确实不是什么难点,不过我确实在平常的使用过程中不是很熟练,还是没有这么个想法去使用,不过,还是不用怀疑,这个东西真的很好用

  • 相关阅读:
    BMIDE开发Soa Services提供给AWC端调用
    TC的Bom行解包和打包的方法
    Java判断一个对象是否是数组
    eclipse里快捷键alt+/不起作用的问题
    脚本实现dwg转PDF的方法--》右键
    Postman设置环境变量
    js滚轮事件兼容写法
    转换时间戳,兼容webkit和IE
    根据对象,返回'&键名=值&键名=值‘形式
    layui 时间插件laydate中动态设置改变min和max值
  • 原文地址:https://www.cnblogs.com/zhangzimu/p/6204589.html
Copyright © 2020-2023  润新知