1樓:匿名使用者
有沒有括號的,有的話很煩喔,要用棧來寫,沒的話一個switch函式和一個迴圈函式就可以搞定了。用getchar()函式一個個讀入所有字元,然後運算元的話用ascii換成十進位制的,switch裡面分別就是+-*/四個運算,然後迴圈兩次4個數讀完就printf()出來,思路夠清晰了吧,**自己實踐。。。無法實現我再附**。。。
2樓:匿名使用者
#include"stdio.h"
#include"math.h"
main()
3樓:冉易雲
#include
#include
#include
int main(void)
else if ( c=='+'||c=='-'||c=='*'||c=='/')
scanf("%c", &c);
}sc[p]='\0';
//printf("[%s%c%s]",sa,sb,sc);
a=atof(sa);
b=atof(sc);
switch(sb)
printf("[%.2f%c%.2f]=%.2f",a,sb,b,f);
printf("\n是否繼續計算(y/n)?");
scanf("%c", &cflag);
getchar();}}
用c語言程式設計實現一個簡單的四則運算計算器
4樓:湛藍水晶
用一個陣列a作為儲存數字的棧,另一個b作為儲存操作符的棧,彈出一個操作符即彈出對應的兩個數字進行運算,然後將運算結果壓回a,直到a中只有一個元素,這個元素即為最後的結果。
5樓:
#include
//函式,讀數運算元
int getnextnum()
//函式,讀運算子
char getopt()
//函式,計算
int caculate(int op1 , int op2 ,char opt)
int main()
printf("%d\n",op1);
}return 0;}
6樓:
將算式作為字串輸入,然後檢測+_*/字元,再將符號間的字元還原為數字,從左到右計算完成。應該可以,你如果把賞分提高到20的話,我就寫寫程式。
樓下的涉及到資料結構,恐怕摟主看不懂吧。不過如果賞分提高到30的話,我就寫寫這個程式。
C語言程式設計求下面表示式的值,C語言 求表示式的值
這個太簡單了,你查一下優先順序,就知道了,古人云 授之以魚不如授之以漁。解題思路 首先你要明白運算 符優先順序的順序,其次你要明白型別之間的強制轉專換按照優先順序屬的順序首先計算 內的值,再強制轉換為int 也就是int 2.5 4.7 7 然後按運算子優先順序,先算乘除,因為是又目運算子所以由左級...
C語言 逗號表示式,c語言 逗號表示式
c b a a 1 b a b 根據運算子優先順序,等效於 c b a a 1 b a b 整體是逗號表示式,逗號表示式的值由最末項決定,即a b,前面的表示式沒有改變a和b的值,所以整個表示式的值是2 3,即5 intmain 結果 value 8 逗號表示式從左往右計算,但返回右邊的資料值作為表...
在c語言中表示式,在C語言中,表示式5 3 2 8 4 0的值為()。
1 正常思路 由於邏輯運算子優先順序別低於比較運算子同時這兩種都低於算術運算子,因此先考慮後半部分,4 0 真值為1,而8 1的真值為0.再考慮或左邊的表示式,5 3 2顯然真值為1最終結果為 1 0 當然結果為12 有 將表示式分成兩部分 左邊的是 5 3 2 顯然其真值為1 因此 1 任意 真值...