【c语言】键盘上键入一个算数表达式,计算其算数值,整个算数表达式要作为一个字符串来处理

需要设计一个计算机,功能如下:使用者在键盘上键入一个算数表达式(如76+12+34=),请编写一个程序分析该输入串,计算其算数值。
注1:为了简化问题,运算符仅考虑加法和减法,数值为整数,并且不考虑串中可能含有空格等其他符号。
注2:整个算数表达式要作为一个字符串来处理。

#include "stdio.h"
int main(int argc,char *argv[]){
int i,k,t,m,p;
char s[50];
printf("Please enter an arithmetic expression(only + & -)...\n");
scanf("%49s",s);
for(p=m=t=i=0;s[i];i++){
sscanf(s+i,"%d%n",&k,&t);
p ? m-=k : m+=k;
if(s[i+=t]=='+')
p=0;
else if(s[i]=='-')
p=1;
else if(s[i]=='\0')
i--;
}
printf("\n%s = %d\n",s,m);
return 0;
}

运行样例:

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