XML语言(模拟)
发布时间:2020-12-16 02:04:20 所属栏目:百科 来源:网络整理
导读:XML中定义一个字符串X为一个开始标号,而/X表示一个结束标号,其中X为一个小写字母,标号之间存在附属关系。 定义一个标准的XML语言为: 1. 一个空串是一个XML语句。 2. 若S为XML语句,则S’ = XS/X也为XML语句。 3. 若S1、S2都是XML语句,则S1+S2也为XML语
定义一个标准的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++; } } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |