ftimes 发表于 2016-1-16 17:10:56

请问为什么会出现这种情况

#include "stdafx.h"
#include "math.h"

int main()
{
double x, y, a, b, c, d, e, f;
printf("请输入两个双精度实数:");
scanf("%f,%f", &x, &y);
//求和a
a = x + y;
//求均值B
b = a / 2;
//求x平方C
c = x*x;
//求y平方d
d = y*y;
//求平方和e
e = c + d;
//开方f
f = sqrt(e);
printf("他们的和为%f", a);
printf("他们的均值为%f",b);
printf("他们的平方和为%f", e);
printf("他们的平方和开方为%f", f);
}


编译器为VS2015
输入1,1
结果如图


请问为什么会出现这种情况 是哪里出了问题?

mydyhm 发表于 2016-1-16 20:17:57

去学习下调试,看看变量的值,就知道哪里出错了

machimilk 发表于 2016-1-16 20:42:04



#include "stdafx.h"
#include "math.h"

int main()
{
        double x, y, a, b, c, d, e, f;
        printf("请输入两个双精度实数:");
        scanf("%lf,%lf", &x, &y);
        //求和a
        a = x + y;
        //求均值B
        b = a / 2;
        //求x平方C
        c = x*x;
        //求y平方d
        d = y*y;
        //求平方和e
        e = c + d;
        //开方f
        f = sqrt(e);
        printf("他们的和为%f\r\n", a);
        printf("他们的均值为%f\r\n",b);
        printf("他们的平方和为%f\r\n", e);
        printf("他们的平方和开方为%f\r\n", f);
        system("pause");
}

ftimes 发表于 2016-1-16 21:35:03

machimilk 发表于 2016-1-16 20:42


非常感谢,原来是%f与%lf出了问题,以前一直没注意区分这两个
页: [1]
查看完整版本: 请问为什么会出现这种情况