#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精度不够引起的错误