TeX中的引号

2020-05-26 18:21:57 浏览数 (1)

题目

在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 a question”.

分析

关键,判断一个双引号是左引号还是右引号。方法很简单:使用一个标志变量即可。

但是,这种有空格的字符串,再使用scanf就不合适了,因为它遇到空格就停止了。

可以用fgetc(fin),它读取一个打开的文件fin,读取一个字符,然后返回一个int值。

如果要从标准输入读取一个字符,可以用getchar,它等价于fgetc(fin)。

c实现

代码语言:javascript复制
#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;
}
//本题关键:1.如何判断一个引号是左引号还是 右引号。这里使用q作为标志变量
//2.输入字符串
//第一种方法:fgetc(fin),它读取一个打开的文件fin,读取一个字符,返回一个int值。
//从标准输入读取一个字符,可以用getchar ,它等价于fgetc(stdin).
//fgets(buf,maxn,fin)读取完整的一行 

0 人点赞