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;

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

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

原文地址:https://www.cnblogs.com/zhangzimu/p/6204589.html