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

正文內(nèi)容

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

2025-08-05 01:17本頁面
  

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