冰天梦 发表于 2019-11-19 22:27

求面积,看哪里有错误,输出不对。

senwang2014 发表于 2019-11-19 22:55

double 用 lf接受

例子:
double a;
scanf("%lf", a);

APWN 发表于 2019-11-19 22:57

double类型要用%lffloat是%f

michaelgao 发表于 2019-11-20 10:11

本帖最后由 michaelgao 于 2019-11-20 10:13 编辑

楼上两位正解
#include "stdafx.h"
#include "math.h"

int _tmain(int argc, _TCHAR* argv[])
{
      double a=0, b=0, c=0, area=0, p=0;

      scanf("%lf,%lf,%lf",&a,&b,&c);
      getchar();//取走换行enter符
      p = (a + b + c) / 2;
      if (a + b > c && a + c > b && b + c > a){
                area = sqrt(p*(p - a)*(p - b)*(p - c));
                printf("area=%6.2f\n", area);
      }
      else{
                printf("Error\n");
      }

      return 0;
}

注意几点:
1》变量定义要初始化
2》控制台输入时,要保证在英文输入法,稍不留神就变成中文的,会导致b、c没有取得正确的值,所以你得到的就不是预期正确的值;
3》控制台输入的三个数据之间用逗号分隔,逗号后不能有空格,如3.0,4.0,5.0,否则也会导致b、c没有得到正确值
4》scanf、scanf_s、printf格式化符号

页: [1]
查看完整版本: 求面积,看哪里有错误,输出不对。