2184.cpp

来自「哈尔滨工业大学ACM 竞赛网上在线试题集锦的源代码」· C++ 代码 · 共 29 行

CPP
29 行
字号
/*  This Code is Submitted by wywcgs for Problem 2184 on 2006-03-28 at 13:45:38 */ 
#include <cstdio>

const int MAX = 256;
const int L = 32;

int main()
{
	int b, e;
	char line[MAX], tag[MAX][L];

	while(scanf("%d %d%*c", &b, &e) != EOF && b >= 0) {
		gets(line);
		int i, j, tn = 0;
		for(i = 0; true; i++) {
			if(i == b) for(j = 0; j < tn; j++) printf("<%s>", tag[j]);
			if(i == e) break;
			else if(i >= b) putchar(line[i]);
			if(line[i] != '<') continue;
			if(line[i+1] == '/') tn--;
			else sscanf(line+i+1, "%[^>]", tag[tn++]);
		}
		for(i = tn-1; i >= 0; i--) printf("</%s>", tag[i]);
		putchar('\n');
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?