#include <stdio.h>
#include <string.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
double a[100],sum=0; //定义一个存放表达式的数组,sum存放结果
char c;
int i=0;
scanf("%lf",&a[0]);
c=getchar();
while(c!='\n') //读入表达式,换行结束读入
{
double temp;
scanf("%lf",&temp);
switch(c)
{
case '+':a[++i]=temp;break;
case '-':a[++i]=-temp;break;
case '*':a[i]*=temp;break;
case '/':a[i]/=temp;break;
}
c=getchar();
}
for(int j=0;j<=i;j++)
{
sum=sum+a[j];
}
if(sum-int(sum)<=1e-6) //强制浮点数转换为整数的规则为,只取浮点数的整数部分,无条件舍去小数部分。
//1e-6表示的是浮点数。也就是1*10的-6次方。
printf("%.0f\n",sum);
else
printf("%.1f\n",sum);
}
return 0;
}
机试题2017-3--表达式求值
最新推荐文章于 2022-07-07 17:14:51 发布