// conter.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
int main(int argc, char* argv[])
{
char c[50]="haha";//用户输入字符
char h[20];//运算符号
int a=0,i=0,n=1,j=0;//a为C[]系数,i为m[]系数,n为运算符号等级标记,j为了hl[]系数
int m[20],l[20];//m[]为数值,l[]为当前h[]运算符号等级
int s=0;
int sx[20];//存放计算优先顺序
char jl[20];
for(a=0;a<20;a++)
{
l[a]=0; //初始化L[] SX[]
sx[a]=0;
m[a]=0;
}
a=0;
while((c[a]=getchar())!='\n')
a++;
a=0;
while(c[a]!='\n')
{
if((c[a]>='0')&&(c[a]<='9'))
{
while((c[a]>='0')&&(c[a]<='9'))
{
m[i]=m[i]*10+int(c[a]-'0');
a++;
s=i;
}
// printf("m[%d] = %d\n",i,m[i]);
i++;
}
if(c[a]=='(')
{
n+=2; a++;
}
if(c[a]==')')
{
n-=2; a++;
}
if(c[a]=='+'||c[a]=='-')
{
h[j]=c[a];
l[j]=n;
j++; a++;
}
else
if(c[a]=='*'||c[a]=='/')
{
h[j]=c[a];
l[j]=n+1;
j++; a++;
}
}
i=0;
j=0;
n=0;
a=0;//当前运算符号位置标记
/* while(i!=0)
{
i=0;
j=0;
while(l[j]<l[j+1]&&l[j]!=0)
{
i=1;
n=l[j];
l[j]=l[j+1];
l[j+1]=n;
j++;
}
}*/
while(i<s)
{
// while(l[j]>n)
n=0;
for(a=0;a<s;a++)
{
if(l[a]>n)
{
n=l[a];
sx[i]=a;
}
}
l[sx[i]]=0;
// printf(" %d ",sx[i]);
i++;
}
a=0;
for(a=0;a<s;a++)
{
jl[a]=h[sx[a]];
// printf("%c",jl[a]);
}
// printf("\n");
a=0;
n=0;
i=0;
while((s-i))
{
// printf("\n%d",s);
if(jl[i]=='+')
m[sx[a]]=m[sx[a]]+m[sx[a]+1];
//
#include "stdafx.h"
#include "stdio.h"
int main(int argc, char* argv[])
{
char c[50]="haha";//用户输入字符
char h[20];//运算符号
int a=0,i=0,n=1,j=0;//a为C[]系数,i为m[]系数,n为运算符号等级标记,j为了hl[]系数
int m[20],l[20];//m[]为数值,l[]为当前h[]运算符号等级
int s=0;
int sx[20];//存放计算优先顺序
char jl[20];
for(a=0;a<20;a++)
{
l[a]=0; //初始化L[] SX[]
sx[a]=0;
m[a]=0;
}
a=0;
while((c[a]=getchar())!='\n')
a++;
a=0;
while(c[a]!='\n')
{
if((c[a]>='0')&&(c[a]<='9'))
{
while((c[a]>='0')&&(c[a]<='9'))
{
m[i]=m[i]*10+int(c[a]-'0');
a++;
s=i;
}
// printf("m[%d] = %d\n",i,m[i]);
i++;
}
if(c[a]=='(')
{
n+=2; a++;
}
if(c[a]==')')
{
n-=2; a++;
}
if(c[a]=='+'||c[a]=='-')
{
h[j]=c[a];
l[j]=n;
j++; a++;
}
else
if(c[a]=='*'||c[a]=='/')
{
h[j]=c[a];
l[j]=n+1;
j++; a++;
}
}
i=0;
j=0;
n=0;
a=0;//当前运算符号位置标记
/* while(i!=0)
{
i=0;
j=0;
while(l[j]<l[j+1]&&l[j]!=0)
{
i=1;
n=l[j];
l[j]=l[j+1];
l[j+1]=n;
j++;
}
}*/
while(i<s)
{
// while(l[j]>n)
n=0;
for(a=0;a<s;a++)
{
if(l[a]>n)
{
n=l[a];
sx[i]=a;
}
}
l[sx[i]]=0;
// printf(" %d ",sx[i]);
i++;
}
a=0;
for(a=0;a<s;a++)
{
jl[a]=h[sx[a]];
// printf("%c",jl[a]);
}
// printf("\n");
a=0;
n=0;
i=0;
while((s-i))
{
// printf("\n%d",s);
if(jl[i]=='+')
m[sx[a]]=m[sx[a]]+m[sx[a]+1];