题目
在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实现
#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)读取完整的一行