(PTA。复数四则运算)请问测试点2到底是什么,问题出在哪

问题遇到的现象和发生背景

本题要求编写程序,计算2个复数的和、差、积、商。

输入格式:
输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。

输出格式:
分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。

问题相关代码


#include <stdio.h>
int main(void)
{
    double a1,b1,a2,b2,m,n;
    scanf("%lf%lf%lf%lf",&a1,&b1,&a2,&b2);
    //
    m=a1+a2;
    n=b1+b2;
    if(m>-0.5&&m<0.5&&n>-0.5&&n<0.5)
    {
        printf("(%.1f+%.1fi) + (%.1f+%.1fi) = 0.0\n",a1,b1,a2,b2);
    }
    else if(m>-0.5&&m<0.5)
    {
        printf("(%.1f+%.1fi) + (%.1f+%.1fi) = %.1fi\n",a1,b1,a2,b2,n);
    }
    else if(n>-0.5&&n<0.5)
    {
        printf("(%.1f+%.1fi) + (%.1f+%.1fi) = %.1f\n",a1,b1,a2,b2,m);
    }
    else
    {
        printf("(%.1f+%.1fi) + (%.1f+%.1fi) = %.1f%+.1fi\n",a1,b1,a2,b2,m,n);
    }
    //减 
    m=a1-a2;
    n=b1-b2;
        if(m>-0.5&&m<0.5&&n>-0.5&&n<0.5)
    {
        printf("(%.1f+%.1fi) - (%.1f+%.1fi) = 0.0\n",a1,b1,a2,b2);
    }
    else if(m>-0.5&&m<0.5)
    {
        printf("(%.1f+%.1fi) - (%.1f+%.1fi) = %.1fi\n",a1,b1,a2,b2,n);
    }
    else if(n>-0.5&&n<0.5)
    {
        printf("(%.1f+%.1fi) - (%.1f+%.1fi) = %.1f\n",a1,b1,a2,b2,m);
    }
    else
    {
        printf("(%.1f+%.1fi) - (%.1f+%.1fi) = %.1f%+.1fi\n",a1,b1,a2,b2,m,n);
    }
    //乘 
    m=a1*a2-b1*b2;
    n=a1*b2+a2*b1;
        if(m>-0.5&&m<0.5&&n>-0.5&&n<0.5)
    {
        printf("(%.1f+%.1fi) * (%.1f+%.1fi) = 0.0\n",a1,b1,a2,b2);
    }
    else if(m>-0.5&&m<0.5)
    {
        printf("(%.1f+%.1fi) * (%.1f+%.1fi) = %.1fi\n",a1,b1,a2,b2,n);
    }
    else if(n>-0.5&&n<0.5)
    {
        printf("(%.1f+%.1fi) * (%.1f+%.1fi) = %.1f\n",a1,b1,a2,b2,m);
    }
    else
    {
        printf("(%.1f+%.1fi) * (%.1f+%.1fi) = %.1f%+.1fi\n",a1,b1,a2,b2,m,n);
    }
    //除
    m=(a1*a2+b1*b2)/(b2*b2+a2*a2);
    n=(a2*b1-a1*b2)/(b2*b2+a2*a2);
    if(m>-0.1&&m<0.1&&n>-0.11&&n<0.1)
    {
        printf("(%.1f+%.1fi) / (%.1f+%.1fi) = 0.0\n",a1,b1,a2,b2);
    }
    else if(m>-0.1&&m<0.1)
    {
        printf("(%.1f+%.1fi) / (%.1f+%.1fi) = %.1fi\n",a1,b1,a2,b2,n);
    }
    else if(n>-0.1&&n<0.1)
    {
        printf("(%.1f+%.1fi) / (%.1f+%.1fi) = %.1f\n",a1,b1,a2,b2,m);
    }
    else
    {
        printf("(%.1f+%.1fi) / (%.1f+%.1fi) = %.1f%+.1fi\n",a1,b1,a2,b2,m,n);
    }
    return 0;
}
运行结果及报错内容

img