太复杂了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
不做了
#include<iostream>
#include<cstdio>
using namespace std;
string s;
bool flag[150];
int main()
{
getline(cin,s);
int l=s.length();
int a=0;
while(s[a]!='{')
{
printf("%c",s[a]);
a++;
}
printf("\n{\n");
a++;//s[a]!='{'
while(s[a]==' ')a++;
int num=1;
flag[num]=1;
while(a<l)
{
if(s[a]=='}')
{
num--;
for(int i=0;i<num;i++)printf(" ");
printf("}\n");
a++;
while(s[a]==' ')a++;
continue;
}
for(int i=0;i<num;i++)printf(" ");
if(s[a]=='f'&&s[a+1]=='o'&&s[a+2]=='r')//for
{
printf("for (");
while(s[a]!='(')a++;
a++;
while(s[a]!=')')printf("%c",s[a++]);
a++;
printf(") {\n");num++;
while(s[a]==' ')a++;
if(s[a]=='{')
{
flag[num]=1;
a++;
while(s[a]==' ')a++;
}
}
else if(s[a]=='w'&&s[a+1]=='h'&&s[a+2]=='i')//while
{
printf("while (");
while(s[a]!='(')a++;
a++;
while(s[a]!=')')printf("%c",s[a++]);
a++;
printf(") {\n");
num++;
while(s[a]==' ')a++;
if(s[a]=='{')
{
flag[num]=1;
a++;
while(s[a]==' ')a++;
}
}
else if(s[a]=='i'&&s[a+1]=='f')//if
{
printf("if (");
while(s[a]!='(')a++;
a++;
while(s[a]!=')')printf("%c",s[a++]);
a++;
printf(") {\n");num++;
while(s[a]==' ')a++;
if(s[a]=='{')
{
flag[num]=1;
a++;
while(s[a]==' ')a++;
}
}
else if(s[a]=='e'&&s[a+1]=='l'&&s[a+2]=='s'&&s[a+3]=='e')//else if||else
{
printf("else {\n");
num++;
a+=4;
while(s[a]==' ')a++;
if(s[a]=='{')
{
flag[num]=1;
a++;
while(s[a]==' ')a++;
}
}
else
{
while(s[a]!=';')printf("%c",s[a++]);
printf("%c\n",s[a++]);
while(s[a]==' ')a++;
while(!flag[num])
{
flag[num]=0;
num--;
for(int i=0;i<num;i++)printf(" ");
printf("}\n");
}
}
}
return 0;
}