从键盘输入一个前缀表达式,运算符可以包括+-*/(),操作数任意,中间不可以有空格,编写c语言算法

从键盘输入一个前缀表达式,运算符可以包括+-*/(),操作数任意,中间不可以有空格,编写c语言算法从键盘输入一个前缀表达式,运算符可以包括+-*/(),操作数任意,中间不可以有空格,编写c语言算法

#include
#include
#include
int main(void)
{
float a,b,f;
int ctl=0,p;
char Cflag='Y';
char c;
char sa[10],sb,sc[10];
while((Cflag == 'Y') || (Cflag == 'y') )
{
for(p=0;p sb='\0';
for(p=0;p p=0;
ctl=1;
printf("加、减、乘、除四则运算算式:\n");
scanf("%c", &c);
while(c!='\n')
{
if (c>='0' && c {
if ( ctl==1 ) sa[p]=c;
if ( ctl==2 ) sc[p]=c;
p++;

}else if ( c=='+'||c=='-'||c=='*'||c=='/')
{
ctl=2;
sa[p]='\0';
sb=c;
p=0;
}

scanf("%c", &c);
}
sc[p]='\0';
//printf("[%s%c%s]",sa,sb,sc);
a=atof(sa);
b=atof(sc);
switch(sb)
{
case '+':
f=a+b;
break;
case '-':
f=a-b;
break;
case '*':
f=a*b;
break;
case '/':
f=a/b;
break;
defalt:
;
}
printf("[%.2f%c%.2f]=%.2f",a,sb,b,f);

printf("\n是否继续计算(Y/N)?");
scanf("%c", &Cflag);
getchar();

}
}
温馨提示:答案为网友推荐,仅供参考
相似回答