题解 | 简单计算器(代码<20行)
简单计算器
https://www.nowcoder.com/practice/5759c29a28cb4361bc3605979d5a6130
没括号就是这样,getchar()调一调格式,注意出现除法时,不要用整型
#include <stdio.h>
int main() {
float val[100];
while (scanf("%f", &val[0]) != EOF) {
char top=0, c;
while(getchar()!='\n' && scanf("%c", &c)){
scanf("%f", &val[++top]);
if(c=='-') val[top] *= -1;
else if(c=='/') {val[top-1] /= val[top]; --top;}
else if(c=='*') {val[top-1] *= val[top]; --top;}
}if(val[0]==0&&top==0) break;
for(int i=1; i<=top; ++i) val[0] += val[i];
printf("%.2f\n", val[0]);
}
return 0;
}
