定义一个标准的XML语言为:
1. 一个空串是一个XML语句。
2. 若S为XML语句,则S’ = <X>S</X>也为XML语句。
3. 若S1、S2都是XML语句,则S1+S2也为XML语句。
现给一段XML语句,任务是将这段XML语言按照格式输出。
1. 每个标号独占一行。
2. 输出时下一层的标号需要比上一层的标号多2个空格。
<a><b><c></c></b></a> <a><b></b><d><c></c></d></a>
<a> <b> <c> </c> </b> </a> <a> <b> </b> <d> <c> </c> </d> </a>
简单模拟题
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <queue>
using namespace std;
int main()
{
char a[205];
int b[200];
while(~scanf("%s",a))
{
int len=strlen(a);
int flag=0;
for(int i=0;i<len;i++)
{
if(a[i]=='<'||a[i]=='>')
{
continue;
}
if(a[i]!='/')
{
int k=flag;
while(k--)
{
printf(" ");
}
printf("<%c>\n",a[i]);
flag+=2;
}
else
{
flag-=2;
int k=flag;
while(k--)
{
printf(" ");
}
printf("</%c>\n",a[i+1]);
i++;
}
}
}
return 0;
}