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

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

?? 中綴轉(zhuǎn)后綴求值.cpp

?? 把中綴表達式轉(zhuǎn)換為后綴表達式的算法
?? CPP
字號:
#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define MAXNUM 100
typedef int DataType;
struct SeqStack { 
	DataType s[MAXNUM];
	int t;
	};
typedef struct SeqStack *PSeqStack;
PSeqStack createEmptyStack_seq() { //建立空棧
	PSeqStack pastack;
	pastack = (PSeqStack)malloc(sizeof(struct SeqStack));
	if (pastack == NULL)
		printf("空間溢出!!\n");
	else
		pastack->t = -1;
	return pastack;
} 
int isEmptyStack_seq(PSeqStack pastack) 
{ 
	return pastack->t == -1;
} 
void push_seq(PSeqStack pastack, DataType x)
{ 
	if (pastack->t >= MAXNUM - 1)
		printf("溢出!\n");
	else 
	{
		pastack->t = pastack->t + 1;
		pastack->s[pastack->t] = x;
	}
} 
void pop_seq(PSeqStack pastack) 
{ 
	if (pastack->t == -1)
		printf("錯誤!\n");
	else
		pastack->t = pastack->t - 1;
} 
DataType top_seq(PSeqStack pastack)
{ 
	return pastack->s[pastack->t];
} 
int infixtoSuffix(const char * infix, char * suffix) 
{ //將中綴表達式轉(zhuǎn)換為后綴表達式,順利轉(zhuǎn)換返回true,若轉(zhuǎn)換過程中發(fā)現(xiàn)中綴表達式非法則返回false
	int state_int = FALSE; 
//state_int記錄狀態(tài),等于true表示剛讀入的是數(shù)字字符,等于false表示剛讀入的不是數(shù)字字符,
//設(shè)置這個變量是為了在每輸出一個整數(shù)后輸出一個空格,以免連續(xù)輸出的兩個整數(shù)混在一起。
	char c, c2;
	PSeqStack ps = createEmptyStack_seq();    //運算符棧
	int i, j = 0;
	if (infix[0] == '\0') 
	return FALSE;                 //不允許出現(xiàn)空表達式
	for (i = 0; infix[i] != '\0'; i++)
	{
		c = infix[i];
		switch (c) 
			{
				case ' ': 
				case '\t': 
				case '\n':
			 if (state_int == TRUE) 
				suffix[j++] = ' ';//狀態(tài)從true轉(zhuǎn)換為false時輸出一個空格
				state_int = FALSE;
			break; //遇到空格或制表符忽略
				case '0': 
				case '1': 
				case '2': 
				case '3': 
				case '4':
				case '5': 
				case '6': 
				case '7': 
				case '8': 
				case '9':
				state_int = TRUE;
				suffix[j++] = c; //遇到數(shù)字輸出
			break;
				case '(':
			if (state_int == TRUE)
				suffix[j++] = ' ';//狀態(tài)從true轉(zhuǎn)換為false時輸出一個空格
				state_int = FALSE;
				push_seq(ps, c); //遇到左括號,入棧
			break;
				case ')':
			if (state_int == TRUE) 
				suffix[j++] = ' ';//狀態(tài)從true轉(zhuǎn)換為false時輸出一個空格
				state_int = FALSE;
				c2 = ')';
			while (!isEmptyStack_seq(ps)) 
				{
					c2 = top_seq(ps);//取棧頂
					pop_seq(ps);     //出棧
					if (c2 == '(') 
						{
							break;
						}
					suffix[j++] = c2;
				}
		if (c2 != '(') 
		{
			free(ps);
			suffix[j++] = '\0';
			return FALSE; 
		}
		break;
		case '+': 
		case '-':
		if (state_int == TRUE) 
		suffix[j++] = ' ';
		state_int = FALSE;
		while(!isEmptyStack_seq(ps))
		{ 
			c2 = top_seq(ps); 
		if (c2 == '+' || c2 == '-' || c2 == '*' || c2 == '/') 
		{
			pop_seq(ps);
			suffix[j++] = c2;
		}
		else if(c2=='(')   break;
}
	push_seq(ps, c); 
	break;
	case '*': 
	case '/':
	if (state_int == TRUE) 
	suffix[j++] = ' ';
	state_int = FALSE;
	while (!isEmptyStack_seq(ps)) 
	{ 
		c2 = top_seq(ps); 
		if (c2 == '*' || c2 == '/') 
		{	
			pop_seq(ps);
			suffix[j++] = c2;
		} 
	else if(c2=='+'||c2=='-'||c2=='(')  break;
	}
	push_seq(ps, c); 
	break;
	default:
	free(ps);
	suffix[j++] = '\0';
	return FALSE;
	}
}
if (state_int == TRUE) suffix[j++] = ' ';
while (!isEmptyStack_seq(ps)) 
{
  c2 = top_seq(ps);
  pop_seq(ps); 
  if (c2 == '(') 
  {
   free(ps);
   suffix[j++] = '\0';
   return FALSE; 
  }
  suffix[j++] = c2;
} 
free(ps);
suffix[j++] = '\0';
return TRUE; 
} 
int calculateSuffix(const char * suffix, int * presult) 
{
int state_int = FALSE; 
PSeqStack ps = createEmptyStack_seq(); 
int num = 0, num1, num2;
int i;
char c;
for (i = 0; suffix[i] != '\0'; i++) 
{
  c = suffix[i];
  switch (c) 
  {
  case '0':
  case '1': 
  case '2': 
  case '3': 
  case '4':
  case '5': 
  case '6': 
  case '7': 
  case '8': 
  case '9':
   if (state_int == TRUE) 
    num = num * 10 + c - '0';
   else num = c - '0';
   state_int = TRUE;
   break;
  case ' ': 
  case'\t': 
  case '\n':
   if (state_int == TRUE) 
   {
    push_seq(ps, num); 
    state_int = FALSE;
   }
   break;
  case '+': 
  case '-': 
  case '*': 
  case '/':
   if (state_int == TRUE) 
   {
    push_seq(ps, num); 
    state_int = FALSE;
   }
   if (isEmptyStack_seq(ps)) 
   {
    free(ps);
    return FALSE;
   } 
   num2 = top_seq(ps);
   pop_seq(ps);
   if (isEmptyStack_seq(ps)) 
   {
    free(ps);
    return FALSE;
   } 
   num1 = top_seq(ps);
   pop_seq(ps);
   if (c == '+') 
    push_seq(ps, num1 + num2);
   if (c == '-') 
    push_seq(ps, num1 - num2);
   if (c == '*') 
    push_seq(ps, num1 * num2);
   if (c == '/') 
    push_seq(ps, num1 / num2);
   break;
  default: 
   free(ps);
   return FALSE;
  }
}
*presult = top_seq(ps); 
pop_seq(ps);
if (!isEmptyStack_seq(ps)) 
{
  free(ps);
  return FALSE;
} 
free(ps);
return TRUE;
} void getline(char * line, int limit) 
{ 
char c;
int i = 0;
while (i < limit - 1 && (c = getchar()) != EOF && c != '\n')
  line[i++] = c;
line[i] = '\0';
} void main() 
{ char c, infix[MAXNUM], suffix[MAXNUM];
int result;
int flag = TRUE;
while (flag == TRUE) 
{
  printf("請輸入一個中綴表達式,以回車結(jié)束!\n輸入:");
  getline(infix, MAXNUM); 
  if(infixtoSuffix(infix, suffix) == TRUE)
   printf("后綴表達式:%s\n", suffix); 
  else 
  {
   printf("無效的中綴表達式!\n");
   printf("\n繼續(xù)? (y/n)");
   scanf("%c", &c);
   if (c == 'n' || c == 'N') flag = FALSE;
   while (getchar() != '\n');
   printf("\n");
   continue;
  }
  if(calculateSuffix(suffix, &result) == TRUE) 
   printf("運算結(jié)果:%d\n", result);
  else 
   printf("您輸入的是后綴表達式,請輸入中綴表達式!\n");
  printf("\n繼續(xù)? (y/n)");
  scanf("%c", &c);
  if (c == 'n' || c == 'N') flag = FALSE;
  while (getchar() != '\n');
  printf("\n");
}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品乱人伦一区二区三区| 久久久久久久综合日本| 久久er99精品| 国产精品免费久久久久| 欧美亚洲丝袜传媒另类| 国模冰冰炮一区二区| 亚洲美女淫视频| 26uuu久久综合| 欧美日韩中文国产| 国产白丝精品91爽爽久久| 亚洲成av人在线观看| 久久九九久精品国产免费直播| 91麻豆swag| 国产美女视频91| 天堂久久一区二区三区| 国产精品美女一区二区三区| 欧美一区二视频| 99麻豆久久久国产精品免费优播| 精品一区二区三区在线视频| 亚洲一区av在线| 国产精品久久久久影院| 精品国偷自产国产一区| 欧美日韩国产成人在线91| 成人午夜又粗又硬又大| 国产综合久久久久影院| 日本不卡视频在线观看| 洋洋av久久久久久久一区| 国产精品素人视频| www久久精品| 91精品国产全国免费观看| 91老师片黄在线观看| 成人一级视频在线观看| 国产美女精品人人做人人爽| 美国毛片一区二区| 天天色 色综合| 一区二区三区在线免费观看| 亚洲欧洲精品一区二区精品久久久| 三级不卡在线观看| 亚洲婷婷国产精品电影人久久| 26uuu另类欧美| 精品国产伦一区二区三区观看体验 | 成人一级视频在线观看| 另类小说欧美激情| 奇米色一区二区三区四区| 亚洲444eee在线观看| 亚洲午夜精品在线| 日韩久久一区二区| 成人欧美一区二区三区1314| 国产精品久久三区| |精品福利一区二区三区| 国产精品免费av| 国产精品免费丝袜| 国产精品福利一区二区| 亚洲欧美怡红院| 日韩毛片精品高清免费| 亚洲欧美日韩国产另类专区| 亚洲男同性视频| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲国产成人porn| 亚洲一线二线三线视频| 亚洲1区2区3区4区| 日韩精品亚洲一区| 卡一卡二国产精品 | 欧美日韩成人高清| 制服丝袜亚洲网站| 日韩一区二区免费在线观看| 日韩欧美三级在线| 久久女同精品一区二区| 国产精品视频九色porn| 亚洲免费看黄网站| 午夜精品久久久久久久| 麻豆91精品91久久久的内涵| 狠狠色丁香久久婷婷综合_中 | 欧美成人伊人久久综合网| 亚洲精品在线观看视频| 国产亚洲成av人在线观看导航| 国产精品毛片久久久久久| 亚洲免费色视频| 日韩精品高清不卡| 国产麻豆精品视频| 91在线porny国产在线看| 欧美日韩精品欧美日韩精品| 欧美不卡一区二区三区| 亚洲欧美在线另类| 亚洲一区二区三区四区五区黄| 91免费看片在线观看| 欧美四级电影在线观看| 欧美不卡在线视频| 亚洲色图在线播放| 美女在线一区二区| 白白色 亚洲乱淫| 欧美日韩成人激情| 国产日本亚洲高清| 亚洲一区二区三区中文字幕| 麻豆91在线播放| 91视频在线观看| 日韩欧美国产高清| 亚洲视频 欧洲视频| 青娱乐精品视频| 99这里只有久久精品视频| 777久久久精品| 国产女同性恋一区二区| 亚洲成人av资源| 国产激情精品久久久第一区二区| 欧洲精品在线观看| 久久一区二区视频| 亚洲午夜精品久久久久久久久| 国产美女久久久久| 9191久久久久久久久久久| 国产精品国产三级国产有无不卡| 日一区二区三区| 99精品欧美一区二区三区综合在线| 欧美情侣在线播放| 亚洲色图一区二区| 国产精品资源网站| 91精品国产一区二区人妖| 亚洲欧美日韩国产手机在线 | 免费在线视频一区| 一本大道久久a久久精二百| 精品美女一区二区三区| 亚洲第一成人在线| 99久久综合精品| 精品国产制服丝袜高跟| 亚洲一区二区视频| 色综合久久九月婷婷色综合| 国产日韩欧美亚洲| 久久99精品国产.久久久久久| 欧美日韩综合在线免费观看| 中文字幕在线观看不卡| 国产在线视频一区二区| 日韩一二三区不卡| 丝袜美腿亚洲一区| 在线观看视频一区二区欧美日韩| 国产欧美日韩一区二区三区在线观看| 欧美a级一区二区| 欧美日韩三级一区| 一区二区三区不卡视频在线观看| 丁香婷婷综合五月| 2020国产精品自拍| 久久国产精品露脸对白| 91精品久久久久久久99蜜桃| 午夜欧美一区二区三区在线播放| 91久久精品一区二区| 亚洲欧美综合另类在线卡通| 成人一区二区三区中文字幕| 国产三级欧美三级日产三级99| 韩国精品免费视频| 欧美精品一区二| 欧美第一区第二区| 日韩精品电影在线观看| 91精品国产91久久久久久最新毛片| 亚洲一区视频在线| 欧美曰成人黄网| 亚洲一区二区三区四区在线观看| 在线看国产日韩| 一区二区三区四区国产精品| 色欲综合视频天天天| 尤物av一区二区| 在线视频国内一区二区| 亚洲黄一区二区三区| 欧美性三三影院| 亚洲h动漫在线| 在线播放亚洲一区| 视频在线观看国产精品| 91精选在线观看| 欧美96一区二区免费视频| 精品精品国产高清一毛片一天堂| 国产自产v一区二区三区c| 久久精品亚洲乱码伦伦中文| 成人国产在线观看| 亚洲欧美另类图片小说| 欧美日韩中文另类| 麻豆精品视频在线观看免费| 精品国产伦理网| 成人黄色国产精品网站大全在线免费观看| 中文文精品字幕一区二区| 99久久99久久精品免费看蜜桃 | 99精品在线观看视频| 亚洲少妇30p| 欧美性色综合网| 乱中年女人伦av一区二区| 久久久久青草大香线综合精品| 国产成人8x视频一区二区 | 韩国女主播成人在线| 欧美激情综合五月色丁香小说| 成人国产精品免费网站| 日韩美女视频一区| 精品视频一区二区三区免费| 久久99精品久久久久久| 国产精品久久久一本精品| 欧美视频一区二区三区四区| 午夜私人影院久久久久| 欧美精品一区二区三区一线天视频| 豆国产96在线|亚洲| 一区二区三区欧美久久| 777xxx欧美| 成人午夜电影久久影院| 亚洲国产一区在线观看| 亚洲精品一区在线观看| 91免费国产在线|