freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言-后綴表達(dá)式計算-資料下載頁

2025-08-05 01:17本頁面
  

【正文】 } } if(c==39。/39。) /*判斷除數(shù)是否為0*/ { j=0。 cdivide=str[i+1+j]。 /*取出除號后的數(shù)*/ while(cdivide=39。039。amp。amp。cdivide=39。939。||cdivide==39。.39。) /*如果是數(shù)或小數(shù)點就一直存*/ { s1[j++]=cdivide。 if(cdivide!=39。039。amp。amp。cdivide!=39。.39。) /*如果不是0則正確并結(jié)束*/ { tag=1。 break。 } cdivide=str[i+j+1]。 } if(!tag) /*如果tag為0則存在錯誤除數(shù)為0*/ { chestr[i+1]=39。^39。 flag=1。 /*flag為1表示有錯*/ } } if(c==39。%39。) /*取余操作的容錯*/ { while(str[iindexs11]=39。039。amp。amp。str[iindexs11]=39。939。 ||str[iindexs11]==39。.39。) /*以%為中心向前掃描*/ { s1[indexs1++]=str[iindexs11]。 /*如果是數(shù)或小數(shù)點*/ } /*放在s1中*/ while(str[i+indexs2+1]=39。039。amp。amp。str[i+indexs2+1]=39。939。 /*以%為中心向后掃描*/ ||str[i+indexs2+1]==39。.39。) { /*如果是數(shù)或小數(shù)點*/ s2[indexs2++]=str[i+indexs2+1]。 /*放在s1中*/ } if(isinteger(s1)) /*調(diào)用函數(shù)判斷s1內(nèi)存到是否是整數(shù)*/ { printf(取余算法第一個數(shù)應(yīng)為整數(shù)運算\n)。 flag=1。 /*記錄為有錯*/ chestr[iindexs1]=39。^39。 } if(isinteger(s2)) /*調(diào)用函數(shù)判斷s2內(nèi)存到是否是整數(shù)*/ { printf(取余算法第二個數(shù)應(yīng)為整數(shù)運算\n)。 flag=1。 /*記錄為有錯*/ chestr[i+indexs2]=39。^39。 } } i++。 c=str[i]。 /*檢索下一個字符*/ } if(0) { /*如果最后棧不為空*/ printf(缺少右括號\n)。 /*棧中還有沒配對的左括號報錯*/ } return flag。 /*返回是否有錯*/}int isinteger(char integer[100]) /*判斷數(shù)組內(nèi)是否是整數(shù)*/{ int i=0。 /*傳過來的數(shù)組的索引*/ char c。 c=integer[i++]。 while(c!=39。\039。) /*直到字符串最后掃描結(jié)束*/ { if(c==39。.39。) /*只要有一個字符為小數(shù)點就不是整數(shù)*/ return 1。 else c=integer[i++]。 /*掃描下一個*/ } return 0。} 運行結(jié)果在輸入表達(dá)式?jīng)]有錯誤的情況下,可以得到兩種算法的運算結(jié)果為:圖5 表達(dá)式正確時兩種算法運行結(jié)果圖如果表達(dá)式的輸入有錯誤,運行結(jié)果分別如下:圖6 除數(shù)為0提示錯誤圖2. 取余運算操作數(shù)不為整數(shù):圖7取余操作數(shù)不為整提示錯誤圖:圖8 缺少左括號提示錯誤圖圖9缺少右括號提示錯誤圖五、遇到的問題及解決在編程的時候總是會有很多的意想不到的為題出現(xiàn)。這部分我主要遇到了如下兩個問題,其內(nèi)容與解決方法如下所列:l 將字符表示的數(shù)字轉(zhuǎn)化為浮點數(shù)這個操作的主要目的就是數(shù)字是用一串字符表示的,在計算的過程中就要把字符串轉(zhuǎn)化成對應(yīng)的浮點數(shù),要解決這個問題,首先查找C語言的庫函數(shù),其中找到一個可以將字符串轉(zhuǎn)化為浮點數(shù)的函數(shù)atof()。那么就需要將數(shù)值的一串字符存入預(yù)定的數(shù)組中。利用循環(huán)到時可以得到要求,但是總是出現(xiàn)如下情況: 圖10 轉(zhuǎn)化為浮點時的錯誤 出現(xiàn)這種情況,首先確定后綴表達(dá)式是正確的,但在后綴表達(dá)式的計算時出現(xiàn)了錯誤,導(dǎo)致結(jié)果出錯。檢查程序,沒有語法錯誤。逐步打印可以看到的結(jié)果,發(fā)現(xiàn)在利用atof后用printf函數(shù)打印時出現(xiàn)了錯誤,最后才發(fā)現(xiàn)是因為在每一次調(diào)用atof時都要將一串字符存入trans數(shù)組,可是,每次存儲結(jié)束時,卻忘記將trans數(shù)組的索引重新設(shè)為0,這就導(dǎo)致了數(shù)組中是多個數(shù)都存到了數(shù)組中,然后就把數(shù)組轉(zhuǎn)化為浮點數(shù),導(dǎo)致了浮點數(shù)不是應(yīng)得的數(shù)值。只要將trans的數(shù)組索引i每次都?xì)w零就可以了。l 在將中綴轉(zhuǎn)化為后綴表達(dá)式的過程中,得不到結(jié)果 得到用戶輸入的中綴表達(dá)式后調(diào)用函數(shù),目的是得到后綴表達(dá)式 可是總是出現(xiàn)如下的情況:圖11 轉(zhuǎn)化為浮點時的錯誤由于學(xué)習(xí)C語言的時候使用的編譯器是WIN TC而這次編程使用的是VC,詢問過用VC的人之后才知道,如果字符串沒有結(jié)束符號就會“喊燙”。檢查程序后才知道,在將中綴轉(zhuǎn)化為后綴的時候,在最后沒有對字符串手動的加入39。\039。來表示結(jié)束。因此,在程序的最后加入ch[k]=39。\039。 就可以了。六、心得體會大一就開始學(xué)習(xí)C語言,可是,當(dāng)時學(xué)的時候就覺得語言好像是學(xué)會了,可是一遇到編程的問題還是頭大,總感覺沒有什么思路,而這次作業(yè),給自己一個不得不動手操作的機(jī)會,在十一的這幾天中,復(fù)習(xí)了以前學(xué)過的C的基本知識,然后一點一點的摸索,遇到了錯誤和同學(xué)一起討論,有問題自己想辦法解決,最后程序調(diào)試出來的時候,會覺得真的很高興。我知道,我們現(xiàn)在的水平還很差,要想學(xué)習(xí)好這門課,在以后就要多動手操作,書上的例題或算法,最好都自己編寫程序?qū)崿F(xiàn),那樣可以加深對算法的理解,也可以提高我們編程的水平。同時,很多的東西,理解了,可是在實現(xiàn)的時候還是有很多的錯誤發(fā)生,在以后的練習(xí)和實踐中,應(yīng)該多動手,遇到問題多思考,即使方案不是最優(yōu)的也要想辦法自己解決,然后和好的方案進(jìn)行比較,從中找出自己的差距在哪里。 18
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1