亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jsq.cpp

?? 是一種數(shù)據(jù)結(jié)構(gòu)的算法
?? CPP
字號(hào):
#define STACK_INIT_SIZE 100 
#define STACKINCREMENT 10 
#include "stdlib.h"
#include "iostream.h"
#include"stdio.h"
typedef struct   //構(gòu)造寄存運(yùn)算符的棧
{char *base;
 char *top;
 int length;
}OptrStack;

int InitStack1(OptrStack &r)    //構(gòu)造一個(gè)空棧
{r.base=(char *)malloc(STACK_INIT_SIZE*sizeof(char));
 if(!r.base)return 0;
 r.top=r.base;
 r.length=STACK_INIT_SIZE;
 return 1;
}

char GetTop1(OptrStack r,char &e)     //返回棧頂元素
{if(r.top==r.base)return 0;
 e=*(r.top-1);
 return (e);
}

int Push1(OptrStack &r,char e)     //插入元素e為新的棧頂元素
{if(r.top-r.base>=r.length){
	r.base=(char *)realloc(r.base,(r.length+STACKINCREMENT)*sizeof(char));
	if(!r.base)return 0;
	r.top=r.base+r.length;
	r.length+=STACKINCREMENT;
}
*r.top++=e;
return 1;
}

char Pop1(OptrStack &r,char &e)     //刪除棧頂元素并用e返回其值
{if(r.top==r.base)return 0;
 e=*--r.top;
 return (e);
}


typedef struct      //構(gòu)造寄存操作數(shù)或運(yùn)算結(jié)果的棧
{double *base;
 double *top;
 int length;
}OpndStack;

int InitStack2(OpndStack &d)      //構(gòu)造一個(gè)空棧
{d.base=(double *)malloc(STACK_INIT_SIZE*sizeof(double));
 if(!d.base)return 0;
 d.top=d.base;
 d.length=STACK_INIT_SIZE;
 return 1;
}

double GetTop2(OpndStack d,double &e)
{if(d.top==d.base)return 0;
 e=*(d.top-1);
 return (e);
}

int Push2(OpndStack &d,double e)
{if(d.top-d.base>=d.length){
	d.base=(double *)realloc(d.base,(d.length+STACKINCREMENT)*sizeof(double));
	if(!d.base)return 0;
	d.top=d.base+d.length;
	d.length+=STACKINCREMENT;
}
*d.top++=e;
return 1;
}

double Pop2(OpndStack &d,double &e)
{if(d.top==d.base)return 0;
 e=*--d.top;
 return (e);
}

char precede(char p,char q)               //判斷運(yùn)算符的優(yōu)先級(jí)//
{
	 char c;
     if(p=='+')
		switch(q)
	 {
		
		    c='>';
		    break;
		case'*':
		case'/':
		case'(':
		    c='<';
		    break;
		default:
		return 0;
		break;
	}
	if(p=='-')
		switch(q)
	{
		case'+':
		case'-':
		case')':
		case'=':
		    c='>';
		    break;
		case'*':
		case'/':
		case'(':
		    c='<';
		    break;
        default:
		return 0;
		break;
	}
	if(p=='*')
	switch(q)
	{
		case'+':	
		case'-':
	    case'*':
	    case'/':		
	    case')':
		case'=':
            c='>';
    	    break;
	    case'(':
		    c='<';
		    break;
        default:
		return 0;
		break;
	}
	if(p=='/')
		switch(q)
	{
        case'+':	
		case'-':
	    case'*':
	    case'/':		
	    case')':
		case'=':
           c='>';
    	   break;
	    case'(':
		   c='<';
		   break; 
		default:
		return 0;
		break;
	}
     if(p=='(')
		switch(q)
	 {  
        case'+':	
		case'-':
	    case'*':
	    case'/':		
	    case'(':
	        c='<';
    	    break;
	    case')':
		    c='=';
		    break;
		default:
		return 0;
		break;
	 }
    if(p==')')
		switch(q)
	 {  
        case'+':	
		case'-':
	    case'*':
	    case'/':		
	    case')':
        case'=':
	       c='>';
		   break;
	    default:
		return 0;
		break;
	 }
     if(p=='=')
		switch(q)
	 {  
        case'+':	
		case'-':
	    case'*':
	    case'/':		
	    case'(':
           c='<';
		   break;
		case'=':
		   c='=';
		   break;
	    default:
		return 0;
		break;
	 }
	 return(c);
}

int In(char c)            //判斷字符是數(shù)字還是運(yùn)算符,是運(yùn)算符返回1,否則返回0//
{
	if(c=='+'||c=='-'||c=='*'||c=='/'||c=='('||c==')'||c=='=')
		return 1;
	else
		return 0;
}
 
double operate(double a, char theta, double b)          //算術(shù)運(yùn)算//
{
	double z;
	switch(theta)
	{
	    case'+':
		z=a+b;
		break;
     	case'-':
		z=a-b;
		break;
	    case'*':
		z=a*b;
		break;
		case'/':
		z=a/b;
		break;
	}
	return(z);
}

struct chardata         //構(gòu)造一個(gè)結(jié)構(gòu)體來(lái)存放讀入的數(shù)字串//
{
	char ch[10];
};

void main()
{
	char c,e,z,theta;
    double a,b,d,f;
	int i,x;
	chardata *p;
	OptrStack s;
	OpndStack t;
	printf("本程序僅提供加,減,乘,除,括號(hào)運(yùn)算,如超出運(yùn)算范圍,請(qǐng)您諒解!!\n");
	printf("請(qǐng)輸入您的算術(shù)表達(dá)式::");
    InitStack1(s);       //構(gòu)造一個(gè)存放運(yùn)算符的堆棧,壓入‘=’//
	Push1(s,'=');
    InitStack2(t);   //構(gòu)造一個(gè)存放數(shù)字串的堆棧//   
	c=getchar();
	while(c!='='||GetTop1(s,theta)!='=')     //讀入的不是‘=’并且棧頂元素也不是‘=’//
	{
		x=In(c);
		if(x!=1)          //讀入的是數(shù)字//
		{
			i=0;
		   p=(struct chardata *)malloc(sizeof(struct chardata));   //開(kāi)辟內(nèi)存空間來(lái)存放數(shù)字串//
		   while(x!=1)              //如果是數(shù)字則循環(huán)讀入,直到讀入的是運(yùn)算符為止//
		   {
		    p->ch[i]=c;
			i=i+1;
			c=getchar();
			x=In(c);
		   }	                 //如果是字符則把已讀入的數(shù)字串轉(zhuǎn)化為實(shí)數(shù),入棧,并釋放內(nèi)存空間//
		    f=atof(p->ch);
		    Push2(t,f);
			free(p);
		}
		else           //讀入的是運(yùn)算符//
		{
			
            switch(precede(GetTop1(s,e),c))       //比較當(dāng)前的運(yùn)算符和棧頂?shù)倪\(yùn)算符的優(yōu)先級(jí)//
			{
			case'<':                //棧頂元素優(yōu)先級(jí)低,讀入的運(yùn)算符入棧//
				Push1(s,c);
			    c=getchar();
				break;
			case'=':           //脫括號(hào)并接受下個(gè)字符//
				Pop1(s,z);
				c=getchar();
				break;
			case'>':       //退棧并將運(yùn)算結(jié)果入棧//
				Pop1(s,theta);
				Pop2(t,b);
				Pop2(t,a);
				Push2(t,operate(a,theta,b));
				break;
			}
		}
	}
	printf("您的算術(shù)表達(dá)式的結(jié)果是: %f\n",GetTop2(t,d));//輸出結(jié)果//
	printf("運(yùn)算完畢,謝謝您的使用!!\n");
}


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清不卡aⅴ免费网站| 成人av在线资源网站| 中文一区在线播放| 欧美日本国产一区| 成人黄色软件下载| 久久99九九99精品| 亚洲精品一二三区| 久久综合成人精品亚洲另类欧美 | 久久久不卡影院| 欧美午夜在线一二页| 成人美女视频在线观看18| 伦理电影国产精品| 一区二区三区四区在线免费观看| 久久综合999| 日韩亚洲欧美综合| 欧美美女bb生活片| 在线一区二区三区| 99精品1区2区| 高清成人在线观看| 国产一级精品在线| 极品美女销魂一区二区三区| 午夜视频在线观看一区| 亚洲精品乱码久久久久久久久| 国产视频视频一区| 欧美mv和日韩mv国产网站| 91精品国产乱码久久蜜臀| 欧美亚洲高清一区二区三区不卡| 99re热这里只有精品免费视频| 国产一区二区三区在线观看免费视频 | 视频在线观看一区| 亚洲在线成人精品| 一区二区三区中文在线| 亚洲免费av高清| 国产精品久久久久久久久免费樱桃| 久久午夜老司机| 欧美白人最猛性xxxxx69交| 亚洲一区视频在线| 亚洲精品高清在线| 亚洲免费观看高清在线观看| 亚洲欧美在线高清| 亚洲欧美乱综合| 一区二区成人在线视频| 一区二区成人在线观看| 亚洲香蕉伊在人在线观| 亚洲一区二区视频| 香蕉乱码成人久久天堂爱免费| 亚洲国产乱码最新视频| 午夜精品在线看| 日韩制服丝袜av| 久久精品国产一区二区| 国产综合色精品一区二区三区| 国产一区二区剧情av在线| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品色噜噜| 久久久久青草大香线综合精品| 久久久久久久久一| 欧美韩国一区二区| 亚洲日本va在线观看| 一区二区三区四区在线免费观看| 午夜日韩在线观看| 久久国产精品一区二区| 国产成人亚洲综合a∨婷婷图片| www.66久久| 欧美丝袜丝nylons| 日韩精品在线看片z| 欧美精彩视频一区二区三区| 中文字幕亚洲一区二区av在线 | av高清不卡在线| 91网站在线观看视频| 欧美日韩国产精品自在自线| 欧美岛国在线观看| 国产精品初高中害羞小美女文| 亚洲中国最大av网站| 日韩 欧美一区二区三区| 国产美女精品人人做人人爽 | 欧美一区二区久久| 国产婷婷色一区二区三区四区 | 亚洲地区一二三色| 美国欧美日韩国产在线播放| 国产黑丝在线一区二区三区| 色综合视频在线观看| 日韩欧美在线网站| 18成人在线视频| 日本不卡一区二区三区| 成人性生交大片免费看视频在线| 91麻豆精品秘密| 欧美一区二区三区在线看| 欧美国产视频在线| 日本网站在线观看一区二区三区 | 欧美专区在线观看一区| 国产成人亚洲精品青草天美| 91福利在线免费观看| 久久伊人中文字幕| 亚洲电影你懂得| 国产美女在线精品| 欧美日韩一级视频| 国产精品无人区| 美女在线观看视频一区二区| 99国内精品久久| 久久综合狠狠综合| 天堂在线一区二区| 色中色一区二区| 久久午夜色播影院免费高清 | 国产精品免费av| 蜜臀av性久久久久蜜臀aⅴ四虎| 99视频精品在线| 精品国产免费人成在线观看| 亚洲mv在线观看| 91污在线观看| 国产精品国产成人国产三级| 精品一区二区精品| 日韩一区二区免费在线电影| 亚洲综合久久av| 91最新地址在线播放| 国产日本欧美一区二区| 久久综合综合久久综合| 欧美精品在线视频| 亚洲无人区一区| 91黄视频在线观看| 亚洲欧美偷拍三级| 成人sese在线| 久久久不卡网国产精品一区| 久久精品国产77777蜜臀| 欧美日韩免费电影| 亚洲福利视频导航| 国产精品的网站| 国产成人免费在线| 久久免费看少妇高潮| 国产一区 二区| 久久精品在线观看| 国产一区二三区| 久久午夜电影网| 国产高清亚洲一区| 久久精子c满五个校花| 国产精品一线二线三线精华| 欧美精品一区男女天堂| 激情综合网激情| 久久久综合九色合综国产精品| 精品一区二区三区在线观看 | 久久精品一级爱片| 国产一区二区免费在线| 国产亚洲欧美日韩日本| 国产传媒欧美日韩成人| 国产精品美女一区二区三区 | 欧美不卡一区二区| 国产在线精品一区二区三区不卡| 精品国产凹凸成av人导航| 精品一区二区精品| 久久久久99精品国产片| 国产69精品久久久久毛片| 国产精品卡一卡二卡三| 色婷婷亚洲综合| 偷拍自拍另类欧美| 精品国产精品网麻豆系列| 大桥未久av一区二区三区中文| 国产精品久久久久久久久动漫| 99re亚洲国产精品| 一级日本不卡的影视| 欧美久久久久久久久中文字幕| 日日噜噜夜夜狠狠视频欧美人| 日韩欧美在线不卡| 成人三级伦理片| 亚洲一区二区3| 欧美一级国产精品| 国产成人av一区二区三区在线 | 99国产麻豆精品| 亚洲成a人v欧美综合天堂下载| 精品免费日韩av| 成人深夜在线观看| 亚洲福利国产精品| 欧美日韩在线播放一区| 欧美一级久久久久久久大片| 91视视频在线观看入口直接观看www | 亚洲女人****多毛耸耸8| 欧美色图免费看| 久久福利视频一区二区| 国产精品乱人伦一区二区| 欧美在线观看一区二区| 久久99精品久久久久久国产越南 | 91视频免费观看| 美女精品自拍一二三四| 国产精品久久久久天堂| 欧美日韩国产小视频| 国产一区 二区 三区一级| 樱花草国产18久久久久| 精品国产一区二区三区av性色| 91在线精品秘密一区二区| 看国产成人h片视频| 亚洲激情av在线| 国产视频一区二区三区在线观看| 欧美日韩专区在线| 波多野结衣的一区二区三区| 蜜臀a∨国产成人精品| 亚洲男人的天堂在线aⅴ视频| 欧美成人bangbros| 欧美无砖专区一中文字| 成人app下载| 国产一区二区三区香蕉| 天天色综合成人网| 一区二区三区在线视频免费观看|