#include<stdio.h>
int error = 0;
void judge(char flag, double *x, double *y, double *result)
{
if(flag=='+')
*result = *x+ *y;
else if(flag=='-')
*result = 1;
else if(flag=='*')
*result = (*x) * (*y);
else if(flag=='/')
{
if(*y==0)
{
printf("输入格式有误\n");
error = 1;
}
else
*result = *x / *y;
}
}
int main()
{
double x=0.0, y=0.0, result=0, result1=0;
int n = 1, sun=0;
char flag;
double z = 0.0;
double result2 = 0;
char flag1;
while(1)
{
int ling = 0;
error = 0;
printf("请输入算式\n");
scanf("%lf %c %lf", &x, &flag, &y);
judge(flag, &x, &y, &result);
if(error==1)
{
ling=0;
}
else
{
printf("%.3lf", result);
ling=1;
}
result1 = result;
scanf("%c%lf", &flag, &z);
judge(flag, &result1, &z, &result2);
if(error==1)
{
ling=0;
}
else
{
printf("%.3lf%c", result2, flag);
ling=1;
}
}
return 0;
}