#include
using namespace std;
#define MAXSIZE 100
#define CHARNUM 26
//定義棧結(jié)構(gòu)體
typedef struct _stack
{
char data[MAXSIZE];
int top;
} stack;
//將輸入邏輯表達(dá)式字符串轉(zhuǎn)換為逆波蘭式的字符串
void translate(const char *p,char *pout)
{
stack op;
op.top=-1;
int i=0;
while (*p!='\0')
{
switch (*p)
{
case '(':
op.data[++op.top]=*p;
*p++;
break;
case ')':
while (op.data[op.top]!='(')
{
pout[i++]=op.data[op.top];
op.top--;
}
op.top--;
*p++;
break;
case ':
op.data[++op.top]=*p;
*p++;
break;
case '*':
case '+':
while ((op.top!=-1)&&(op.data[op.top]!='('))
{
pout[i++]=op.data[op.top];
op.top--;
}
op.data[++op.top]=*p;
*p++;
break;
case ' ':
break;
default:
pout[i++]=*p;
*p++;
}
}
while (op.top!=-1)
{
pout[i++]=op.data[op.top];
op.top--;
}
pout[i]='\0';
}
//逆波蘭式的求解
bool calculator(const char* str)
{
stack st;
st.top=-1;
char ch0,ch1,c;
while (*str!='\0')
{
switch (*str)
{
case '0':
case '1':
st.data[++st.top]=*str;
break;
case ':
ch0=st.data[st.top--];
c=!(ch0-'0')+'0';
st.data[++st.top]=c;
break;
case '+':
ch0=st.data[st.top--];
ch1=st.data[st.top--];
c=((ch0-'0')||(ch1-'0'))+'0';
st.data[++st.top]=c;
break;
case '*':
ch0=st.data[st.top--];
ch1=st.data[st.top--];
c=((ch0-'0')&&(ch1-'1'))+'0';
st.data[++st.top]=c;
break;
default:
break;
}
*str++;
}
return st.data[st.top]-'0';
}
int main()
{
char str[MAXSIZE]={0};
int chartab[CHARNUM]={0};
fstream infile;
fstream outfile;
int sum;
//打開輸入和輸出文件
infile.open("stackc.in",fstream::in);
outfile.open("stackc.out",fstream::out);
//獲取第一行字符串
infile.getline(str,MAXSIZE);
//獲取第二行整數(shù)
sum=infile.get()-'0';
infile.get();
//得到各個(gè)變量的值
for (int i=0;i
C++邏輯表達(dá)式運(yùn)算
C++邏輯表達(dá)式運(yùn)算
邏輯表達(dá)式運(yùn)算
由大寫英文字母和符號(hào)~、 *、+、()組成邏輯表達(dá)式,其中三個(gè)符號(hào)分別表示邏輯非、與、或運(yùn)算,英文字母表示變量,變量有兩種可能的取值,FALSE(0)或TRUE(1),、*、+、括號(hào)()可改變表達(dá)式的運(yùn)算次序,且可以嵌套.編一個(gè)程序計(jì)算邏輯表達(dá)式的值.
【輸入格式】
輸入為若干行
第一行字符串s(1
邏輯表達(dá)式運(yùn)算
由大寫英文字母和符號(hào)~、 *、+、()組成邏輯表達(dá)式,其中三個(gè)符號(hào)分別表示邏輯非、與、或運(yùn)算,英文字母表示變量,變量有兩種可能的取值,FALSE(0)或TRUE(1),、*、+、括號(hào)()可改變表達(dá)式的運(yùn)算次序,且可以嵌套.編一個(gè)程序計(jì)算邏輯表達(dá)式的值.
【輸入格式】
輸入為若干行
第一行字符串s(1
其他人氣:912 ℃時(shí)間:2020-04-16 17:54:29
優(yōu)質(zhì)解答
我來(lái)回答
類似推薦
- C語(yǔ)言邏輯運(yùn)算,邏輯量是什么?和邏輯表達(dá)式有什么區(qū)別?
- 設(shè)A=B=D=True,C=Flase,以下邏輯運(yùn)算表達(dá)式值為真的有
- 邏輯表達(dá)式運(yùn)算的結(jié)果是
- 關(guān)于邏輯運(yùn)算表達(dá)式
- 3.設(shè)a=3,b=4,c=5,寫出下面各邏輯表達(dá)式的值.表達(dá)式 表達(dá)式運(yùn)算后的值 a+b>c && b==c (a>b) && c
- 四通八達(dá)中“達(dá)”什么意思
- 天地不仁,以萬(wàn)物為芻狗.
- 用血球計(jì)數(shù)板計(jì)算酵母細(xì)胞總數(shù):對(duì)稀釋100倍后的酵母菌懸液計(jì)數(shù),若80小格中細(xì)胞數(shù)
- 富者乞羊 譯文
- 高中數(shù)學(xué)課程中的“函數(shù)”的結(jié)構(gòu)脈絡(luò)
- 描寫水的優(yōu)美句子
猜你喜歡
- 1世博會(huì)中國(guó)館的太陽(yáng)能光伏發(fā)電系統(tǒng) 年均提供電能為1.08*10^13J,這意味著每年節(jié)約標(biāo)準(zhǔn)煤為( )噸(設(shè)標(biāo)準(zhǔn)煤完全燃燒,q煤=3.0*10^7J/kg)
- 2l理發(fā)師翻譯成英語(yǔ)
- 3在下列幾種現(xiàn)象中,系統(tǒng)動(dòng)量守恒的是
- 4王老師在新華書店購(gòu)買了《童話精選》和《科學(xué)家的故事》一共花了116元,童話每本2
- 51 she also tried to teach him __ to be quiet because other people wanted to rest.A when B where
- 6求滿足條件:頂點(diǎn)在原點(diǎn),關(guān)于x軸對(duì)稱,并且經(jīng)過(guò)點(diǎn)M(2,-4)的拋物線的標(biāo)準(zhǔn)方程,并求出此拋物線的準(zhǔn)線方程.
- 7“鐵錘錘碗錘不碎”.這句話覺得荒謬的理由是什么?覺得有道理的理由是什么?
- 8如圖,已知直線L1平行L2,且L3和L1、L2分別交于A、B兩點(diǎn),點(diǎn)P在直線AB上.
- 9什么無(wú)間
- 10333分之33乘101怎樣簡(jiǎn)便計(jì)算
- 11用總分總的形式寫一篇作文
- 121.What do you not like?還是What don't you like?Why do you not like?還是Why don't you like?