❶ C語言算術表達式
這一句printf("%f",a%3*(int)(x+y)%2/4);
/4之前的結果是1,1/4得到的結果是0,因為你是2個int型變數的運算。1/4=0,輸出浮點型得到0.00000000.
如果想得到0.25,需要前面的運算結果強制轉換為浮點型,後面/4寫成/4.0
寫成這樣(float)(a%3*(int)(x+y)%2)/4.0
此外養成良好編程喜歡,善用括弧,否則一個算式太長,代碼可讀性太差,容易出錯。
❷ 求用C語言編寫一個算術表達式的演算法,如輸入3*4+8-2鍵入Enter鍵輸出18.
#include<iostream.h>
//#defineMaxLen100//存儲空間
inttran(charstr[],charexpr[])//將中綴表達式轉換成後綴表達式if(tran(str,expr)==0)//原來表達式,後綴表達式
{
intst[100];//轉化過程使用的過度棧
charch;
inti=0,exindex=0,stindex=-1;//i是str下標,exindex是expr下標,stindex是st下標
while((ch=str[i++])!='