91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 30KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-04
  • 語言: 其他
  • 標簽:

資源簡介

代碼可靠完整,個人手寫實現,包括小數計算,下面是測試用例: //10*8^2+16.3+5*(5.2*5+3.01)/4-(-10)+0.1000060+4.00416-40 = 666.666666 //100+(-100)-(-10^2) = 100 //(((2016-2017+(((2015-2014)))))) = 0 //-1+(((((((((1^0))))))))+100^2 = 0

資源截圖

代碼片段和文件信息

//10*8^2+16.3+5*(5.2*5+3.01)/4-(-10)+0.1000060+4.00416-40?=?666.666666
//100+(-100)-(-10^2)?=?100
//(((2016-2017+(((2015-2014))))))?=?0
//-1+(((((((((1^0))))))))+100%10^2?=?0
#include
#include
#include
#include
#include
#include
#include
using?namespace?std;
const?int?MAX?=?105;

typedef?double?Type;
typedef?struct
{
Type?TypeStack[MAX];
char?charStack[MAX];
int?TypeTop?charTop;
}Stack;

//初始化棧
void?InitStack(Stack?*S)
{
S->charTop?=?S->TypeTop?=?0;
}

//判斷charStack是否為空
bool?IsEmpty_Char(Stack?S)
{
return?S.charTop?==?0;
}

//判斷TypeStack是否為空
bool?IsEmpty_Type(Stack?S)
{
return?S.TypeTop?==?0;
}

//判斷charStack是否為滿
bool?IsFull_Char(Stack?S)
{
return?S.charTop?==?MAX;
}

//判斷TypeStack是否為滿
bool?IsFull_Type(Stack?S)
{
return?S.TypeTop?==?MAX;
}

void?Push_Char(Stack?*S?char?ch)
{
//charStack不為滿則入棧,否則輸出提示
if(!IsFull_Char(*S))
S->charStack[S->charTop++]?=?ch;
else
cout?<}

void?Push_Type(Stack?*S?Type?a)
{
//TypeStack不為滿則入棧,否則輸出提示
if(!IsFull_Type(*S))
S->TypeStack[S->TypeTop++]?=?a;
else
cout?<}

char?Pop_Char(Stack?*S)
{
if(!IsEmpty_Char(*S))
{
S->charTop--;
return?S->charStack[S->charTop];
}
else
cout?< return?-1;
}

Type?Pop_Type(Stack?*S)
{
if(!IsEmpty_Type(*S))
{
S->TypeTop--;
return?S->TypeStack[S->TypeTop];
}
else
cout?< return?-1;
}

char?Top_Char(Stack?S)
{
if(!IsEmpty_Char(S))
return?S.charStack[--S.charTop];
else
cout?< return?-1;
}

Type?Top_Type(Stack?S)
{
if(!IsEmpty_Type(S))
return?S.TypeStack[--S.TypeTop];
else
cout?< return?-1;
}

Type?Calculate(Type?left?Type?right?char?op)
{
Type?value?=?0;
switch(op)
{
case?‘+‘: value?=?left?+?right; break;
case?‘-‘: value?=?left?-?right; break;
case?‘*‘: value?=?left?*?right; break;
case?‘/‘: if(right?!=?0)
value?=?left?/?right;
else
cout?< break;
case?‘%‘: if(right?!=?0)
value?=?(int)left?%?(int)right;
else
cout?< break;
case?‘^‘: value?=?pow(leftright);
/*value?=?1;
if(right?>=?0)
while(right--)
value?*=?left;
else
{
right?=?-right;
while(right--)
value?/=?left;
}*/
}
return?value;
}


void?Computer(char?*mid_equotion?Type?len)
{
Type?right?left??result;
char?*p_mid_equotion?=?mid_equotion;
char?after_equotion?=?‘?‘;

map?Oper;
Oper[‘#‘]?=?1; Oper[‘(‘]?=?2; Oper[‘+‘]?=?3;
Oper[‘-‘]?=?3; Oper[‘*‘]?=?4; Oper[‘/‘]?=?4;
Oper[‘%‘]?=?4; Oper[‘^‘]?=?5; Oper[‘)‘]?=?6;

Stack?MyStack;
InitStack(&MyStack);
Push_Char(&MyStack‘#‘);

char?top_oper?c

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????72704??2018-03-18?13:09??棧的實現及應用.doc
?????文件????????5046??2017-04-08?12:18??算術表達式求值.cpp

評論

共有 條評論