#include<stdio.h>
int main()
{
double x1=0.0,x2=0.0,ret=0.0;
char c=0;
scanf("%lf%c%lf",&x1,&c,&x2);
if(c=='+')
printf("%.4lf%c%.4lf=%.4lf",x1,c,x2,ret=x1+x2);
else if(c=='-')
printf("%.4lf%c%.4lf=%.4lf",x1,c,x2,ret=x1-x2);
else if(c=='*')
printf("%.4lf%c%.4lf=%.4lf",x1,c,x2,ret=x1*x2);
else if(c=='/')
{
if(x2==0)
printf("Wrong!Division by zero!\n");
else
printf("%.4lf%c%.4lf=%.4lf",x1,c,x2,ret=x1/x2);
}
else
printf("Invalid operation!");
return 0;
}
一开始float 的精度不够高,好像第九组会过不去,.5999不能变成.6000,用了double后就编过去了,好像很多题目都是float精度不够引起的错误