C语言程序设计下mooc答案 联系客服

发布时间 : 星期五 文章C语言程序设计下mooc答案更新完毕开始阅读c7fa66bfcaaedd3382c4d35f

case '%':printf(\ default:break; }

return 0; }

2、递归的方法计算含多个运算符的四则运算表达式字符串的值(15分) 题目内容:

请在上一题的基础上,采用递归的方法,计算含多个运算符的四则运算表达式字符串的值(无括号,但要考虑优先级)

输入格式:

多个运算符的四则运算表达式字符串

输出格式: 运算结果

输入样例: 3*2+3

输出样例: 9

时间限制:500ms内存限制:32000kb Code:

#include #include int main() {

static char op[100];

static int i,j,k,s,p[100]; scanf(\ p[0]=s;

for(i=0;1;i++) {

scanf(\ if(op[i]=='\\n') break; scanf(\ }

for(j=0;j

if(op[j]=='*'||op[j]=='/') {

if(op[j]=='*') {

p[j]*=p[j+1];

for(k=j;k

op[k]=op[k+1]; p[k+1]=p[k+2]; } } else {

p[j]/=p[j+1];

for(k=j;k

op[k]=op[k+1]; p[k+1]=p[k+2]; } }

i--;j--; } }

for(j=0;j

if(op[j]=='+'||op[j]=='-') {

if(op[j]=='+') {

p[j]+=p[j+1];

for(k=j;k

op[k]=op[k+1]; p[k+1]=p[k+2]; } } else {

p[j]-=p[j+1]; for(k=j;k

op[k]=op[k+1]; p[k+1]=p[k+2]; } }

i--;j--; } }

printf(\

}