【題解】Zerojudge c007 - 00272 - TeX Quotes

題目大意

給定一份文本,將奇數次出現的雙上引號換成 $\text{``}$,偶數次出現的換成 $\text{''}$。

題解

首先將字元一個一個讀入直到 EOF,可以用 printf 或是 getchar 函式。另外使用一個變數去紀錄 '"' 符號出現次數的奇偶,來決定要輸出哪種符號。下方程式碼中使用的 getchar_unlocked() 只能在 Linux 環境使用,Windows 環境的類似函式為 _getchar_nolock()。其他實作細節請參考 code。
#include <stdio.h>

int main() {
	char c;
	int cnt = 0;
	while((c = getchar_unlocked()) != EOF) {
		if(c == '"') {
			if(cnt % 2 == 0) {
				printf("``");
			} else {
				printf("''");
			}
			cnt++;
		} else {
			putchar_unlocked(c);
		}
	}
	return 0;
}

如果本文對您有幫助的話幫忙點擊廣告和分享吧!

© 若無特別註明,本站文章皆由 WeakMouse's Coding Blog 原創 ,轉載引用本文前請先留言告知。本文轉載請註明文章源自 WeakMouse's Coding Blog ,作者 ,並附上原文連結: 【題解】Zerojudge c007 - 00272 - TeX Quotes

張貼留言

0 留言