91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

1、可以計(jì)算多位整數(shù)或者小數(shù)范圍內(nèi)的四則運(yùn)算。。 2、C語言,通過入棧方式實(shí)現(xiàn)四則運(yùn)算優(yōu)先級(jí)順序。。 3、用了兩個(gè)棧實(shí)現(xiàn),操作數(shù)棧和運(yùn)算符棧,這一點(diǎn)不是很讓人滿意。。 4、具體實(shí)現(xiàn)方式可參考嚴(yán)蔚敏《數(shù)據(jù)結(jié)構(gòu)》相應(yīng)內(nèi)容。。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?“CharStack.h“
#include?“DoubleStack.h“

#define?OP_NUM?7

char?arrOP[OP_NUM]?=?{‘+‘?‘-‘?‘*‘?‘/‘?‘(‘?‘)‘?‘=‘};
char?priority[OP_NUM][OP_NUM]?=?
{
{‘>‘?‘>‘?‘<‘?‘<‘?‘<‘?‘>‘?‘>‘}
{‘>‘?‘>‘?‘<‘?‘<‘?‘<‘?‘>‘?‘>‘}
{‘>‘?‘>‘?‘>‘?‘>‘?‘<‘?‘>‘?‘>‘}
{‘>‘?‘>‘?‘>‘?‘>‘?‘<‘?‘>‘?‘>‘}
{‘<‘?‘<‘?‘<‘?‘<‘?‘<‘?‘=‘?‘?‘}
{‘>‘?‘>‘?‘>‘?‘>‘?‘?‘?‘>‘?‘>‘}
{‘<‘?‘<‘?‘<‘?‘<‘?‘<‘?‘?‘?‘=‘}
};

char?Compare(char?a?char?b)
{
int?i;
int?aOrder?bOrder;
aOrder?=?-1;
bOrder?=?-1;
for?(i?=?0;?i? {
if?(arrOP[i]?==?a)
{
aOrder?=?i;
break;
}
}
for?(i?=?0;?i? {
if?(arrOP[i]?==?b)
{
bOrder?=?i;
break;
}
}
if?((aOrder?==?-1)?||?(bOrder?==?-1))
{
printf(“Input?illegal..\n“);
getch();
exit(0);
}
else?if?(priority[aOrder][bOrder]?==?‘?‘)
{
printf(“Input?illegal..\n“);
getch();
exit(0);
}
else
{
return?(priority[aOrder][bOrder]);
}
}

double?Operate(double?a?char?op?double?b)
{
double?result;
result?=?0;
switch?(op)
{
case?‘+‘:
result?=?a?+?b;
break;
case?‘*‘:
result?=?a?*?b;
break;
case?‘/‘:
if?(fabs(b)? {
printf(“Divisor?cannot?be?zero..\n“);
getch();
exit(0);
}
result?=?a?/?b;
break;
case?‘-‘:
result?=?a?-?b;
break;
default:
printf(“\“%c\“?is?unfinished..\n“?op);
getch();
exit(0);
break;
}
return?(result);
}

int?main()
{
CharStack?op;//operator?set..
DoubleStack?num;//num?set..
char?c[1000];
double?num1?num2;
char?tempOP;
int?length;
int?isNum;
int?isFloat;
int?floatBit;
int?i;
printf(“請(qǐng)輸入一個(gè)合法的有理數(shù)范圍內(nèi)的四則運(yùn)算表達(dá)式.(退出請(qǐng)輸入q后按回車)\n“);
printf(“可以包含加\‘+\‘減\‘-\‘乘\‘*\‘除\‘/\‘和小括號(hào)\‘()\‘以等號(hào)\‘=\‘結(jié)尾.\n“);
gets(c);
length?=?strlen(c);
while?((c[0]?!=?‘q‘)?||?(length?!=?1))
{
InitCharStack(&op?length);
InitDoubleStack(&num?length);
PushChar(&op?‘=‘);
i?=?0;
isNum?=?0;
isFloat?=?0;
while?((c[i]?!=?‘=‘)?||?(GetTopChar(op)?!=?‘=‘))
{
if?((c[i]?>=?48)?&&?(c[i]?<=?57))
{
if?(isNum?==?1)
{
if?(isFloat?==?1)
{
floatBit++;
PushDouble(&num?PopDouble(&num)?+?(c[i]?-?48)?/?pow(10?floatBit));
}
else
{
PushDouble(&num?PopDouble(&num)?*?10?+?c[i]?-?48);
}
}
else
{
PushDouble(&num?c[i]?-?48);
isNum?=?1;
}
i++;
}
else
{
if?((c[i]?==?‘.‘)?&&?(isNum?==?1))
{
isFloat?=?1;
floatBit?=?0;
i++;
}
else
{
isNum?=?0;
isFloat?=?0;
switch?(Compare(GetTopChar(op)?c[i]))
{
case?‘<‘:
PushChar(&op?c[i]);
i++;
break;
case?‘=‘:
PopChar(&op);
i++;
break;
case?‘>‘:
tempOP?=?PopChar(&op);

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????3456??2010-06-11?01:08??Calc.c

?????文件??????29614??2010-10-19?22:45??Calc.exe

?????文件???????1506??2010-06-11?01:08??CharStack.h

?????文件???????1562??2010-06-11?01:08??DoubleStack.h

-----------?---------??----------?-----??----

????????????????36138????????????????????4


評(píng)論

共有 條評(píng)論

相關(guān)資源