⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2270080_wa.cc

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CC
字号:
#include <iostream>

using namespace std;

void solve(char exp[])
{
	int mark;
	int i, j, k;

	while(1)
	{
		if(strlen(exp)==1)
			break;
		for(i = 0; exp[i]!='\0'; i++)
			if(exp[i]==')')
			{
				for(j = i-1; j >= 0; j--)
					if(exp[j]=='(')
						break;
				mark = 1;
				while(mark)
				{
					mark = 0;
					for(k = i-1; k > j; k--)
					{
						if(exp[k]=='!')
						{
							mark = 1;
							if(exp[k+1]=='V')
								exp[k+1] = 'F';
							else
								exp[k+1] = 'V';
							i--;
							strcpy(&exp[k],&exp[k+1]);
						}
					}
				}
				mark = 1;
				while(mark)
				{
					mark = 0;
					for(k = i-1; k > j; k--)
					{
						if(exp[k]=='&')
						{
							mark = 1;
							if(exp[k+1]=='V'&&exp[k-1]=='V')
								exp[k+1] = 'V';
							else
								exp[k+1] = 'F';
							i -= 2;
							strcpy(&exp[k-1],&exp[k+1]);
						}
					}
				}
				mark = 1;
				while(mark)
				{
					mark = 0;
					for(k = i-1; k > j; k--)
					{
						if(exp[k]=='|')
						{
							mark = 1;
							if(exp[k+1]=='V'||exp[k-1]=='V')
								exp[k+1] = 'V';
							else
								exp[k+1] = 'F';
							i -= 2;
							strcpy(&exp[k-1],&exp[k+1]);
						}
					}
				}
				strcpy(&exp[i],&exp[i+1]);
				strcpy(&exp[j],&exp[j+1]);
				break;
			}
	}
	puts(exp);
}

int main()
{
	char exp[111];
	int i, cas = 1;

	exp[0] = '(';
	while(gets(&exp[1]))
	{
		strcat(exp,")");
		for(i = 0; exp[i]!='\0'; i++)
		{
			if(exp[i]==' ')
				strcpy(&exp[i],&exp[i+1]),i--;
		}
		printf("Expression %d: ",cas);
		solve(exp);
	}
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -