您的位置:首页 > 其它

TeX中的引号---一道竞赛题

2018-03-01 16:38 309 查看
Written by Robert_Wang in Southwest University of Science And Technology.
在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''.
如何读取有空格的字符串??
getchar#include<stdio.h>
int main()
{
int c, k = 1;
while ((c = getchar()) != EOF)
{
if (c == '"')
{
printf("%s", k ? "``" : "''");
k = !k;
}
else printf("%c", c);
}
return 0;
}代码非常简洁,但是程序是怎么执行的呢???
你可以这样理解,假设输入的是"I am a boy"回车
getchar每个字符读如缓冲区之后,再从"I am a boy"的第一个字符开始再while里面执行,
第一次遇到 " ,则执行if里面的,输出 `` 注意这是一个字符串,
接下来就是一次次地输出I am a boy
最后遇到 " ,执行if里面的语句,输出 ''。
最后还会有一个换行。。。。。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: