L3-019 代码排版 (30 分) 别看 没改完

2023-05-16

太复杂了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
不做了
在这里插入图片描述

#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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L3-019 代码排版 (30 分) 别看 没改完 的相关文章

随机推荐