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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calculate.cpp

?? 表達式求值:支持浮點運算
?? CPP
字號:
#include<stdio.h>
#include<math.h>
#include<malloc.h>
#include<stdlib.h>
#include<conio.h>

#define STACK_INIT_SIZE 100 //存儲空間初始分配量
//#define STACKINCREMENT 10

#define OK 1
#define ERROR 0
#define MAX 40
int fix=1;

#define n 7    //運算符個數

 #   define     LESS                   '<'  
 #   define     EQU                     '='  
 #   define     MORE                   '>'
 #   define     ERR                     ' '  

 char    Precede[n][n]={{   MORE,MORE,LESS,LESS,LESS,MORE,MORE   },   /*     +     */   
                                          {   MORE,MORE,LESS,LESS,LESS,MORE,MORE   },   /*     -     */   
                                          {   MORE,MORE,MORE,MORE,LESS,MORE,MORE   },   /*     *     */   
                                          {   MORE,MORE,MORE,MORE,LESS,MORE,MORE   },   /*     /     */   
                                          {   LESS,LESS,LESS,LESS,LESS,   EQU,   ERR   },   /*     (     */   
                                          {   MORE,MORE,MORE,MORE,   ERR,MORE,MORE   },   /*     )     */   
                                          {   LESS,LESS,LESS,LESS,LESS,   ERR,   EQU   }};/*     #    */   
    
 char OP[n]={'+','-','*','/','(',')','='};

typedef struct{
	char *base;
	char *top;
	
	int stacksize;
}SqStack;



int InitStack(SqStack &s)
{
	s.base=(char *)malloc(STACK_INIT_SIZE*sizeof(char));
	if(!s.base )
		exit(OVERFLOW);
	s.top=s.base;
	s.stacksize=STACK_INIT_SIZE;
	return OK;
}

char GetTop(SqStack s){
	char e;
	if(s.top==s.base) 
		return ERROR;
	e=*(s.top-1);
	return e;
}

int Push (SqStack &s ,char e) 
{
	if(s.top-s.base>=s.stacksize){
		s.base=(char *)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof(char));
		if(!s.base)
			exit(OVERFLOW);
		s.top=s.base+s.stacksize;
		s.stacksize+=STACKINCREMENT;
	}
	*s.top++=e;
	return OK;
}


int Pop (SqStack &s,char &e) 
{ 
	if(s.top==s.base)
		return ERROR;
	e=*--s.top;
	return OK;
}

int In(char c,char p[])
{
	for(int i=0;i<n;i++)
		if(c==p[i])
			return 1;
	if(c>='0' && c<='9')
		return 0;
	else 
		fix=0;
	printf("表達式有錯誤,不可識別的字符!\n");
	return OVERFLOW;
}

float GetNum(char &c)
{

	float num=0;
	int k=10;


	while(!In(c,OP) && c!='.')
	{	
		num=num*10+c-48;
		c=getchar();
	}
	if(c=='.')
	{
		c=getchar();
		while(!In(c,OP))
		{
			
			num=num+(float)(c-48)/k;
			k*=10;
			c=getchar();
		}
	}
	return	num;

}

int Order(char c)
{
	 for(int i=0;i<n;i++)
	 {
		 if(c==OP[i])
			 return i;
	 }
	 return OVERFLOW;
	
}

float Operate(float a,char theta,float b)
{
	switch(theta)
	{
	case '+':
		return a+b;
	case '-':
		return a-b;
	case '*':
		return a*b;
	case '/':
		if(b==0)
		{
			printf("表達式錯誤,有除0操作!\n");
			fix=0;
			return OVERFLOW;
		}
		return a/b;
	default:
		return ERROR;
	}
}

float EvaluateExpression()
{
	int count=1;
	char theta,c,x;
	SqStack OPTR;
	float OPND[MAX];

	InitStack(OPTR);
	Push (OPTR,'=');  //初始化運算符棧
	c=getchar();  
	if(c=='-')
		OPND[count++]=0;
	
	fix=1;
	for(int i=0;i<MAX;i++)
		OPND[i]=0;
       
	while ((c!='=' || GetTop(OPTR)!='=') && fix!=0)
	{ 

		if (!In(c,OP) )        //讀入的c不是運算符                 
		{ 
			x=' ';
			OPND[count]=GetNum(c);
			count++;
		} //操作數進棧             
		else  
		{
			if(c=='-' && x=='(')
				OPND[count++]=0;
			switch (Precede[Order(GetTop(OPTR))][Order(c)])
			{ 
				case LESS:
					Push(OPTR,c);
					x=c;
					c=getchar( ); 
					break; //棧頂元素優先權低,運算符進棧
                case EQU:
					Pop(OPTR,c);
					c=getchar( );
					break; //脫括號并接收下一字符
                case MORE:
					Pop(OPTR, theta);
					float a,b;
                   
					a=OPND[count-2];
					b=OPND[count-1];
					count-=2;
					if(count<=0)
					{
						fix=0;
						printf("請檢查表達式!\n");
					}
					OPND[count++]=Operate(a,theta,b); 
					break; //退棧并將運算結果入棧
				case ERR:
					printf("表達式有錯誤,括號不匹配!\n");
					fix=0;
					return ERROR;
           } //switch
		}
    } //while         
	return OPND[count-1];
} // EvaluateExpression             


void main()
{
	char choose='y';
	while(choose=='y' || choose=='Y')
	{
		printf("請輸入表達式:");
		float num=EvaluateExpression();
		if(fix!=0)
			printf("結果為:%f\n",num);
		while(getchar()!='\n')
		{}
		printf("繼續(Y)?\n請選擇(其它鍵退出):");
		choose=getche();
		printf("\n\n");
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人一区二区三区在线观看| 国产精品国产三级国产aⅴ中文| 在线成人午夜影院| 久久久久久久一区| 亚洲同性同志一二三专区| 天堂午夜影视日韩欧美一区二区| 国产精品中文欧美| 欧美日本一道本在线视频| 中文在线免费一区三区高中清不卡| 夜夜操天天操亚洲| 高清在线观看日韩| 日韩免费电影一区| 午夜精品久久久久久不卡8050| 成人听书哪个软件好| 欧美一区二区三区啪啪| 亚洲你懂的在线视频| 国产麻豆午夜三级精品| 欧美另类z0zxhd电影| 亚洲欧洲日韩一区二区三区| 狠狠色丁香婷综合久久| 欧美日韩一区在线| 一区二区三区影院| 91玉足脚交白嫩脚丫在线播放| 久久久久久久国产精品影院| 久久99日本精品| 欧美美女网站色| 亚洲一线二线三线视频| av中文字幕不卡| 一区免费观看视频| 丁香婷婷综合激情五月色| 久久久国产精华| 国产乱码一区二区三区| 欧美精品一区二区在线观看| 麻豆久久久久久| 日韩女优av电影在线观看| 免费久久99精品国产| 日韩一区二区在线免费观看| 午夜视频一区在线观看| 777色狠狠一区二区三区| 亚洲成人一区二区在线观看| 欧美欧美午夜aⅴ在线观看| 偷拍与自拍一区| 欧美精选午夜久久久乱码6080| 亚洲va韩国va欧美va精品| 538prom精品视频线放| 麻豆精品蜜桃视频网站| 精品sm捆绑视频| 国产精品一二三在| 亚洲欧洲成人精品av97| 91国内精品野花午夜精品| 亚洲午夜电影在线观看| 欧美日韩国产美| 国产在线精品免费av| 国产精品久久久久久久午夜片 | 99国产精品久久久| 亚洲女与黑人做爰| 欧美午夜精品一区二区蜜桃| 青青草国产成人av片免费| 精品国产网站在线观看| 国产高清精品久久久久| 中文字幕中文乱码欧美一区二区| 在线免费精品视频| 蜜臀久久久久久久| 国产人妖乱国产精品人妖| 99久久精品免费看| 日本成人超碰在线观看| 国产精品午夜春色av| 欧美体内she精高潮| 久久国产日韩欧美精品| 国产精品久久久久国产精品日日 | 韩国精品主播一区二区在线观看 | 精品国产伦一区二区三区观看方式 | 337p粉嫩大胆噜噜噜噜噜91av| 国产99久久久久久免费看农村| 亚洲最新在线观看| 久久综合九色综合欧美就去吻| 色哟哟在线观看一区二区三区| 日韩成人午夜电影| 中文字幕视频一区| 欧美成人三级电影在线| 色香色香欲天天天影视综合网| 琪琪久久久久日韩精品| 亚洲色大成网站www久久九九| 欧美日本一区二区在线观看| 成人午夜又粗又硬又大| 日本麻豆一区二区三区视频| 国产精品福利电影一区二区三区四区 | 国产精品 欧美精品| 日韩影院精彩在线| 亚洲日本一区二区| 国产亚洲综合在线| 欧美一区二区三区四区五区| 色综合咪咪久久| 国产精品自在欧美一区| 日韩av午夜在线观看| 亚洲精品国产一区二区三区四区在线| 日韩精品一区二区三区在线| 欧美日韩一区在线观看| 色综合婷婷久久| 成人午夜精品在线| 国产一区二区伦理| 玖玖九九国产精品| 美女在线视频一区| 五月天亚洲精品| 一区二区三区在线观看欧美| 国产精品不卡一区| 中文字幕不卡在线观看| 久久九九久久九九| 久久久久久久久久久久久久久99 | 亚洲午夜精品网| 亚洲成人在线观看视频| 亚洲最色的网站| 一区二区三区在线不卡| 亚洲欧美成aⅴ人在线观看| 中文字幕欧美一| 日韩一区日韩二区| 亚洲人成网站影音先锋播放| 国产欧美日韩不卡免费| 国产欧美日韩综合精品一区二区| 久久综合视频网| 久久久久久影视| 久久精品亚洲精品国产欧美kt∨ | 国产一区二区伦理| 国产精品一二三| 成人综合婷婷国产精品久久免费| 国产一区二区成人久久免费影院| 国产伦精品一区二区三区视频青涩 | 亚洲自拍偷拍av| 视频一区中文字幕| 奇米影视一区二区三区小说| 韩国三级在线一区| 成人精品视频一区二区三区尤物| 成人精品视频网站| 色女孩综合影院| 欧美精品v日韩精品v韩国精品v| 欧美亚洲高清一区| 777亚洲妇女| 国产日韩欧美一区二区三区乱码| 国产欧美日韩不卡| 一区二区三区在线视频观看58| 午夜激情综合网| 激情六月婷婷综合| 91丨porny丨在线| 欧美精品高清视频| 久久精品日韩一区二区三区| 亚洲少妇屁股交4| 日韩精品一二三| 国产高清在线精品| 欧美午夜精品久久久| 精品欧美一区二区久久| 中文字幕日本不卡| 美女脱光内衣内裤视频久久网站| 国产高清无密码一区二区三区| 日本精品视频一区二区| 日韩欧美一区在线观看| 国产精品久久毛片a| 亚洲成人www| 丁香亚洲综合激情啪啪综合| 欧美三级韩国三级日本三斤 | 久久精品国产**网站演员| 成人黄色电影在线| 欧美日韩国产高清一区二区三区| 久久久99久久| 日本不卡1234视频| 日本久久一区二区| 久久无码av三级| 午夜不卡在线视频| 成人av在线一区二区| 日韩精品一区二区在线观看| 亚洲一区二区在线播放相泽| 国产一区二区三区在线观看精品| 欧美日韩一级二级| 国产精品女同一区二区三区| 美腿丝袜亚洲一区| 欧美性淫爽ww久久久久无| 国产欧美日韩综合| 极品少妇一区二区| 欧美日韩亚洲国产综合| 亚洲女同女同女同女同女同69| 国产一区二区在线观看免费| 欧美日韩日本视频| 亚洲精品久久嫩草网站秘色| 国产成a人无v码亚洲福利| 精品入口麻豆88视频| 亚洲成av人片观看| 色视频欧美一区二区三区| 中文天堂在线一区| 韩国av一区二区| 欧美一级黄色录像| 午夜精品福利一区二区三区av| 91视频精品在这里| 亚洲国产高清aⅴ视频| 国产福利一区二区三区在线视频| 日韩精品中午字幕| 日日骚欧美日韩| 7878成人国产在线观看| 丝袜亚洲精品中文字幕一区| 欧美性一级生活| 亚洲成人av一区二区三区| 欧美性猛交xxxx乱大交退制版|