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

📄 fuzhifanyi.cpp

📁 基于四则运算的算符优先的赋值表达式的翻译程序.
💻 CPP
字号:
#include<iostream.h>
  
  void main()
  {
	  char a[50],b[50],c[50];
	  char ch,T;
	  int i=0,k=0,t=0;
	  cout<<"please input the expression(end with #):"<<endl;
	  cin>>a;
	  for(int j=2;a[j]!='#';j++)
		 {  ch=a[j];
		    switch(ch)
			{
			  case '+':
			  case '-':
			    if(k==0)
					{ c[k]=ch; k++;}
			    else
					{ switch(c[k-1])
						{ case '*':
							 cout<<"T="<<b[i-2]<<"*"<<b[i-1]<<endl;
							 b[i-2]='T';i--;
							 c[k-1]=ch;break;
				   		  case '/':
					         cout<<"T="<<b[i-2]<<"/"<<b[i-1]<<endl;
					         b[i-2]='T';i--;
							 c[k-1]=ch;break;
						  default:c[k]=ch;k++;
						}
				   //c[k]=ch;k++;
					}
					break;
			  case '*':
		  	  case '/':
				 if(k==0)
				 { c[k]=ch;k++;}
				 else
				 switch(c[k-1])
					{     case '*':
							 cout<<"T="<<b[i-2]<<"*"<<b[i-1]<<endl;
							 b[i-2]='T';i--;
							 c[k-1]=ch;break;
				   		  case '/':
					         cout<<"T="<<b[i-2]<<"/"<<b[i-1]<<endl;
					         b[i-2]='T';i--;
							 c[k-1]=ch;break;
						  default:c[k]=ch;k++;  
					}
				  break;
			 case '(':
				   c[k]=ch;k++;break;
			 case ')':
				 do{
					 cout<<"T="<<b[i-2]<<c[k-1]<<b[i-1]<<endl;
					 b[i-2]='T';i--;k--;
				 }while(c[k-1]!='(');
					 k--;break;
			 default:b[i]=ch;i++;
			}
			// cout<<a[i];	 
		 }
		 while(k!=0)
		 {
			cout<<"T="<<b[i-2]<<c[k-1]<<b[i-1]<<endl;
			b[i-2]='T';i--;k--;
		 }
		 cout<<a[0]<<a[1]<<"T"<<endl;
  }

	
  

⌨️ 快捷键说明

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