給出乙個表示式,其中運算子僅包含+,-,要求求出表示式的最終值
保證資料中不會出現負數,並且同時保證,如果你按從左到右的順序計算,同樣也不會出現負數的情況。
僅一行,即為表示式
僅一行,既為表示式算出的結果
1+1-1
1
表示式總長度<=255
表示式中數字位數<=255
一道大數加減法的問題,完全可以把減法看成加法,相加相減時都不考慮進製借位,到最後統一進製借位處理,這樣會更簡單一些。
舉個例子:5247+823-299-11
7 4 2 5
3 2 8
-9 -9 -2
-1 -1
= 0 -4 8 5
最後看哪一位上》=10或者<0,在進行借位和進製的運算。第二個數-4小於0,就給他加上10,前面的8減去1,結果就是0675,逆序輸出得到5760.
#include#include#includeusing namespace std;
char b[260],s[260];
int a[260][260];
void add(int x,int y)
void mult(int x,int y)
int main()
else a[q][p++]=s[i]-'0';
}for(j=q-1; j>=0; j--)
for(i=0; i<256; i++)
}else if(a[0][i]>=10)}}
int f=0;
for(i=256; i>=0; i--)
}if(f==0)
printf("0");
else
for(i=k; i>=0; i--)
printf("%d",a[0][i]);
printf("\n");
}return 0;
}
tyvj 1041 表示式計算2
from admin 表示式計算2 描述 description 給出乙個表示式,其中運算子僅包含 要求求出表示式的最終值 保證資料中不會出現負數。輸入格式 input format 僅一行,即為表示式 輸出格式 output format 僅一行,既為表示式算出的結果 樣例輸入 sample in...
表示式計算2
在這裡,我採用了另外一種方式計算表示式 由於表示式是中序表示式,首先,將表示式變為後序表達,然後利用逆波蘭式的方法計算,僅僅只用乙個數字棧即可。但是該方法的缺點是 只能計算單個字元的運算,因為對於百位等數字計算,後序表示式數字有歧義。ood.cpp 定義控制台應用程式的入口點。include std...
表示式求值(TYVJ1043)
我他喵的被這題氣死好吧。2年前的我調了3個小時,2年後調了1.5個小時 求乙個中綴表示式的值 小學生都會好吧 首先 計算機最喜歡的一定是字尾表示式,我們只要從頭到尾遍歷,然後碰到數字就壓入棧,碰到運算子就直接取出棧頂的2個元素直接進行計算,並將結果壓入棧。那我們這裡要做的操作就是將中綴轉成字尾。怎麼...