真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

計(jì)算表達(dá)式的值c語言函數(shù) 計(jì)算表達(dá)式的值c語言函數(shù)怎么寫

c語言 表達(dá)式求值

#includestdio.h

創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為拜城等服務(wù)建站,拜城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為拜城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

#inlcudestdlib.h

void main()

{

char str[20][201],*p0,*p1;

int t,i,s,f,loop;

scanf("%d",t); if ( t20 ) t=20;

for ( i=0;it;i++ ) scanf("%s",str[i]);

for ( i=0;it;i++ )

{ p0=p1=str[i]; s=0; f=1; loop=1;

while ( loop )

{ while ( (*p1)='0' (*p1)='9' ) p1++;

s+=(f*atoi(p0));

switch ( (*p1) )

{ case 0: loop=0; break;

case '+': f=1; break;

case '-': f=(-1); break;

default: loop=0; break;

}

p1++; p0=p1;

}

printf("\nCase %d:\n",i+1);

printf("%s=%d\n",str[i],s);

}

}

C語言計(jì)算表達(dá)式的值

#includestdio.h

#includestdlib.h

#define MaxSize 99

void translate(char str[],char exp[]) /*將算術(shù)表達(dá)式轉(zhuǎn)換成后綴表達(dá)式*/

{

struct

{

char data[MaxSize];

int top; /*top為棧頂*/

}op; /*定義一個(gè)含data和top的結(jié)構(gòu)體*/

char ch;

int i = 0,t = 0;

op.top = -1;

ch = str[i]; /*將str的每一個(gè)數(shù)轉(zhuǎn)換成ch*/

i++;

while(ch != '\0') /*ch對(duì)應(yīng)不同的符號(hào)的時(shí)候?qū)?yīng)的轉(zhuǎn)換情況*/

{

switch(ch)

{

case '(': /*當(dāng)是(的時(shí)候,將此括號(hào)存入棧op*/

op.top++;op.data[op.top]=ch;

break;

case ')':

while(op.data[op.top] != '(') /*括號(hào)內(nèi)的轉(zhuǎn)換優(yōu)先級(jí)最高,故先提取表達(dá)式*/

{

exp[t]=op.data[op.top];

op.top--;

t++;

}

op.top--;

break;

case '+':

case '-':

while(op.top != -1op.data[op.top] != '(')

{

exp[t] = op.data[op.top];

op.top--;

t++;

}

op.top++; /*恢復(fù)可插入位置*/

op.data[op.top] = ch;

break;

case '*':

case '/':

while(op.top == '/'||op.top == '*') /*優(yōu)先級(jí)*/

{

exp[t] = op.data[op.top];

op.top--;

t++;

}

op.top++;

op.data[op.top] = ch;

break;

case ' ': /*忽略空格,排除誤操作*/

break;

default:

while(ch = '0'ch = '9')

{

exp[t] = ch;t++;

ch = str[i];i++;

}

i--;

exp[t] = '#'; /*分隔操作數(shù),為了美觀,也為了以后好分隔操作數(shù),呵呵*/

t++;

}

ch = str[i];

i++;

}

while(op.top != -1) /*得到剩下的部分*/

{

exp[t] = op.data[op.top];

t++;

op.top--;

}

exp[t] = '\0'; /*表達(dá)式結(jié)束*/

}

float cal_value(char exp[])

{

struct

{

float data[MaxSize];

int top;

}st; /*操作數(shù)棧*/

float d;

char ch;

int t = 0;

st.top = -1;

ch = exp[t];

t++;

while(ch != '\0')

{

switch(ch) /*運(yùn)算主體*/

{

case '+':

st.data[st.top-1] = st.data[st.top-1]+st.data[st.top];

st.top--;

break;

case '-':

st.data[st.top-1] = st.data[st.top-1]-st.data[st.top];

st.top--;

break;

case '*':

st.data[st.top-1] = st.data[st.top-1]*st.data[st.top];

st.top--;

break;

case '/':

if(st.data[st.top] != 0)

st.data[st.top-1]=st.data[st.top-1]/st.data[st.top];

else

{

printf("\n\t除0是錯(cuò)誤的");

}

st.top--;

break;

default:

d=0;

while(ch = '0'ch = '9') /*從后綴表達(dá)式中獲取操作數(shù),#作用在此體現(xiàn)*/

{

d = 10*d+ch-'0';

ch = exp[t];

t++;

}

st.top++;

st.data[st.top] = d;

}

ch = exp[t];

t++;

}

return st.data[st.top];

}

int main() /*可以提到前面去*/

{

char str[MaxSize],exp[MaxSize]; /*str為算術(shù)表達(dá)式,exps為后綴表達(dá)式*/

printf("請(qǐng)輸入一個(gè)求值表達(dá)式\n");

printf("表達(dá)式:");

gets(str); /*輸入一個(gè)算術(shù)表達(dá)式*/

printf("原表達(dá)式是:%s\n",str);

translate(str,exp); /*將算術(shù)表達(dá)式轉(zhuǎn)換成后追表達(dá)式*/

printf("后綴表達(dá)式:%s\n",exp);

printf("計(jì)算結(jié)果:%g\n",cal_value(exp));/*通過后綴表達(dá)式來求值*/

system("pause");

return 0;

}

C語言中表達(dá)式的值怎么算

此式即等同于 (4!=3)(2)(4+15)

1代表真,0代表非,則原式即 110 所以值為0。

例如:

-12/5 = -2 只為這個(gè)是整數(shù)運(yùn)算,結(jié)果只取整數(shù)部分。

62 1*(6+7) + 7 *(6+1) = 13 +49 62

3.2 *(6+7+1) = 44.8

擴(kuò)展資料:

一個(gè)表達(dá)式的賦值和算符的定義以及數(shù)值的定義域是有關(guān)聯(lián)的。

兩個(gè)表達(dá)式若被說是等值的,表示對(duì)于自由變量任意的定值,兩個(gè)表達(dá)式都會(huì)有相同的輸出,即它們代表同一個(gè)函數(shù)。

一個(gè)表達(dá)式必須是合式的。亦即,其每個(gè)算符都必須有正確的輸入數(shù)量,在正確的地方。如表達(dá)式2+3便是合式的;而表達(dá)式*2+則不是合式的,至少不是算術(shù)的一般標(biāo)記方式。

表達(dá)式和其賦值曾在20世紀(jì)30年代由阿隆佐·邱奇和Stephen Kleene在其λ演算中被公式化。λ演算對(duì)現(xiàn)代數(shù)學(xué)和電腦編程語言的發(fā)展都曾有過重大的影響。

參考資料來源:百度百科-表達(dá)式


當(dāng)前名稱:計(jì)算表達(dá)式的值c語言函數(shù) 計(jì)算表達(dá)式的值c語言函數(shù)怎么寫
瀏覽地址:http://weahome.cn/article/dojigdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部