xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

描述 編寫一個程序可以完成基本的帶括號的四則運算。其中除法(/)是整除,并且在負數除法時向0取整。(C/C++/Java默認的除法就是向0取整,python默認的是向負無窮取整。) 例如計算 100 * ( 2 + 12 ) - (20 / 3) * 2, 結果是1388。 輸入 一個長度不超過100的字符串,代表要計算的算式。包含數字0-9以及+-*/()。 輸入保證計算過程不會超過32位有符號整數,并且其中的'-'都是減號沒有負號。

資源截圖

代碼片段和文件信息

100*(2+12)-(20/3)*2
100*(2-12)+(20/3)*(1-2)
10*(3+5*(5-5+1)*100+(5-9*(20-2)/2)*2*20/10)+1000
2/3-10
2+(2*4)
50/(50-20*2+1-9)*(10+12*12-12*10)
50*(50-20*2+1-9)*(10+12*12-12*10)/(1*2*3*4*5*6)
(1)+(1+2)+2*(1+3)
100*(2+12)-20/3*2
7*(8+2-(8/2+5*4))
3+((12+7*9)-15)
((5*(8+7)-5)+30*(7-6/3))*7
8/4*2
8/2*4

#include?
#include?
#include?
#include?

using?namespace?std;

void?step(stack&?num?stack&?op)?{
char?top?=?op.top();
op.pop();
int?a?b;
b?=?num.top();
num.pop();
a?=?num.top();
num.pop();
//cout?< if?(top?==?‘+‘)
a?+=?b;
else?if?(top?==?‘-‘)
a?-=?b;
else?if?(top?==?‘*‘)
a?*=?b;
else?a?/=?b;
//cout?< num.push(a);
}

bool?cmp(char?top?char?c)?{
if?(top?==?‘(‘)?return?false;
if?(top?==?‘+‘?||?top?==?‘-‘)?{
if?(c?==?‘+‘?||?c?==?‘-‘)
return?true;
return?false;
}
return?true;
}

void?pushOp(stack&?num?stack&?op?char?c)?{
if?(c?==?‘)‘)?{
for?(;?op.top()?!=?‘(‘;)
step(num?op);
op.pop();
return;
}
if?(op.empty()?||?op.top()?==?‘(‘)?{
//cout?< op.push(c);
return;
}
//cout?<>?“?< for?(;?cmp(op.top()?c);)?{ //For?the?order?of?calculating
step(num?op);
if?(op.empty())?break;
}
op.push(c);
}

int?getNum(char*?line?int&?i?int?len)?{
int?a;
sscanf(line?+?i?“%d“?&a);
//cout?< for?(;?i?=?‘0‘?&&?line[i]?<=?‘9‘;?i++);
return?a;
}

int?main()?{
stack?num;
stack?op;
char?line[101];
int?i?len;
for?(;?scanf(“%s“?line)?!=?EOF;)?{
i?=?0;
len?=?strlen(line);
for?(;?line[i]?==?‘(‘;?i++) //I‘s?like?to?get?many?‘(‘?continously
op.push(‘(‘);
num.push(getNum(line?i?len));
for?(;?i? for?(;?line[i]?==?‘)‘;?i++) //It‘s?the?same?with?‘(‘
pushOp(num?op?line[i]);
if?(i?>=?len)?break;
pushOp(num?op?line[i++]);
for?(;?line[i]?==?‘(‘;?i++) //...
op.push(‘(‘);
num.push(getNum(line?i?len));
}
for?(;?!op.empty();)
step(num?op);
i?=?num.top();
num.pop();
//cout?< printf(“%d\n“?i);
}
return?0;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2290??2017-09-29?16:30??Caculator.cpp

-----------?---------??----------?-----??----

?????????????????2290????????????????????1


評論

共有 條評論