æ®ç»æå®éªæ¥å
é¢ç®ï¼ ç¼å¶ä¸ä¸ªè¡¨è¾¾å¼æ±å¼çç¨åºã
ä¸ï¼ éæ±åæ
1. æ¬æ¼ç¤ºç¨åºä¸ï¼å©ç¨å æ åå¨ç»æåå¨è¯»å
¥çè¿ç®ç¬¦ï¼è¾å
¥çéå®èå´æ¯æ°åï¼0â9ï¼ï¼
以å+*/()ãè¾å
¥å符串éå®é¿åº¦ä¸º20ï¼å¯ä»¥æ ¹æ®éè¦è¿è¡æ¹åãå¦æéå°ä¸æ¯ä»¥ä¸èå´æè
è¿ç»è¾å
¥ä¸¤ä¸ªè¿ç®ç¬¦ï¼å¦ï¼++ï¼åä¼æ示è¾å
¥é误ï¼è¯·éæ°è¾å
¥ãè¾åºçç»ææ¯è½¬æ¢åçååºè¡¨è¾¾å¼ï¼ä»¥åfloatåæ°åï¼ä¸ä¼å«æéæ³å符ã
2. æ¼ç¤ºç¨åºéç¨çæ¯æ件è¾å
¥ï¼åªéè¦å¨æºä»£ç ä¸è¾å
¥è¦è¾å
¥çæ件çå°åï¼ç¶åå°±å¯ä»¥
å¨ææ¬æ件ä¸è¿è¡è¾å
¥ï¼è¿è¡è¿ç¨ä¸ä¼èªå¨è¯»åï¼è¾åºææ¬è¾å
¥ç表达å¼ï¼åè¿ç®ç»æã 3. ç¨åºæ§è¡çå½ä»¤å
æ¬ï¼
1ï¼ æé å符ä¼å
级æ¯è¾è¡¨ï¼æ¯è¾ä¼å
å
³ç³» 2ï¼æ件è¾å
¥ 3ï¼æé å æ ï¼è¿ç®ç¬¦å
¥æ 4ï¼å æ è¾åºï¼å为ååºè¡¨è¾¾å¼ï¼å¹¶è®¡ç® 5ï¼è¾åºç»æï¼ç»æ 4.æµè¯æ°æ®
æ件å°åï¼C:\\Users\\lenovo\\Desktop\\4.txt 1) è¾å
¥ï¼(35+20/2)*2-4/2+12
æ£ç¡®è¾åºç»ææ¯ï¼100.0000 2)è¾å
¥ï¼(35+20/2)*2-/2+12
ç»ææ¯:error input
3) è¾å
¥ï¼a+ar/3=135
ç»ææ¯:error input
äºï¼æ¦è¦è®¾è®¡
为å®ç°ä»¥ä¸ç¨åºåè½ï¼éè¿ç¨å æ ç¨äºåå¨è¿ç®ç¬¦ï¼å æ¤éè¦å®ä¹æ½è±¡æ°æ®ç±»åã 1. å æ çæ½è±¡æ°æ®ç±»åå®ä¹ä¸º: ADT stackï½
æ°æ®å¯¹è±¡:D={ai|aiâæ£æ´æ°ï¼i=0ï¼1ï¼2ï¼3ï¼â¦n,åï½+-*/()ï½} æ°æ®å
³ç³»ï¼R1={<ai-1,a1>|ai-1,aiâD} åºæ¬æä½ï¼ Init stackï¼&sï¼
æä½ç»æï¼æé ä¸ä¸ªç©ºçå æ s Push stackï¼&s, eï¼ åå§æ¡ä»¶ï¼åå¨å æ s
æä½ç»æ:å
ç´ eåå
¥å æ sï¼top+1 Pop ï¼&sï¼eï¼
åå§æ¡ä»¶ï¼æ så·²ç»åå¨ä¸é空
æä½ç»æï¼å é¤æ 顶å
ç´ eï¼è¾åºå
¶å¼ï¼top-1
2. ç¨åºå
å«ä¸ä¸ªæ¨¡åï¼ 1ï¼ è¿ç®ç¬¦ä¼å
å
³ç³»æ¨¡å 2ï¼ ä¸»ç¨åºæ¨¡å; Int main(void){
åå§åï¼ Doï½
æ¥åå½ä»¤ï¼ å¤çå½ä»¤ï¼ ï½whileï¼âå½ä»¤â=âéåºâï¼ï¼ ï½ 3ï¼å æ 模å
ä¸ï¼è¯¦ç»è®¾è®¡
1.ç¨åºæºä»£ç 解é为ï¼
float Result(int c,float r[],int top){ //å®ä¹è¾åºç»æ int j;
float temp;
switch(c){ //以ä¸æ¯åç§åºæ¬è¿ç®ç计ç®å®ä¹ï¼è¿ç®å®æåç´æ¥å°top-1å¼èµäºtop
case 42:r[top-1]=r[top-1]*r[top];top=top-1;break; //ä¹æ³ case 43:r[top-1]=r[top-1]+r[top];top=top-1;break;///å æ³ case 45:r[top-1]=r[top-1]-r[top];top=top-1;break;//åæ³ case 47:r[top-1]=r[top-1]/r[top];top=top-1;break;// é¤æ³
case 94:for(j=1,temp=r[top-1];j<r[top];j++) //å¹³æ¹æè
å 次æ¹çè¿ç® temp=r[top-1]*temp; //循ç¯ç¸ä¹ r[top-1]=temp; top=top-1; break; } return(r[top]); }
if(temp1!=1){
while(top>=1){ //æ ä¸ç©ºçæ¶åï¼æ ä¸å
ç´ èµç»houzhiï¼å¹¶è®¡æ° biaozhi[b++]=i;
houzhi[i]=duizhan[top-1]; top=top-1;i=i+1; }
max=i; //ä»0å°i循ç¯è¾åºååºè¡¨è¾¾å¼ for(i=0,b=0;i<max;i++){ if(i!=biaozhi[b])
printf("%d ",houzhi[i]) //è¾åºååºè¡¨è¾¾å¼ä¸çæ°å
温馨提示:答案为网友推荐,仅供参考