定义一个标准的XML语言为:
1. 一个空串是一个XML语句。
2. 若S为XML语句,则S’ = <X>S</X>也为XML语句。
3. 若S1、S2都是XML语句,则S1+S2也为XML语句。
现给一段XML语句,任务是将这段XML语言按照格式输出。
1. 每个标号独占一行。
2. 输出时下一层的标号需要比上一层的标号多2个空格。
Output
每组数据按照格式,输出这段XML语句。
<a><b><c></c></b></a> <a><b></b><d><c></c></d></a>
水题
#include<iostream> #include<cstring> using namespace std; string s; int main() { while(cin>>s) { int flag=0;//前导空格数量 for(int i=0;i<s.size();i++) { if(s[i]=='<'||s[i]=='>')continue; else if(s[i]!='/'){ cout<<string(flag,' '); cout<<"<"<<s[i]<<">"<<endl; flag+=2; } else{ cout<<string(flag-2,' '); cout<<"</"<<s[i+1]<<">"<<endl; flag-=2; i++; } } } }