注册 登录
编程论坛 C语言论坛

请问我的代码问题出在哪里呢?为什么我输入了3.0,4.0,5.0.最后只有3.0可以打出来。其他的打出来的都不对的

yl957405782 发布于 2020-04-17 21:37, 2080 次点击
只有本站会员才能查看附件,请 登录

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>

void main()
{
    double a, b, c, s, area;
    scanf("%lf,%lf,%lf", &a, &b, &c);
    s = (a + b + c) / 2.0;
    area = sqrt(s * (s - a) * (s - b) * (s - c));
    printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n", a, b, c, s);
    printf("arae = %7.2f\n", area);
}
5 回复
#2
forever742020-04-17 22:05
关掉输入法
关掉输入法
关掉输入法
#3
yl9574057822020-04-17 22:40
解决了 感谢大佬
#4
吹水佬2020-04-18 05:03
一个好习惯
既然有输入:
scanf("%lf,%lf,%lf", &a, &b, &c);
先试试检查:
printf("%lf,%lf,%lf", a, b, c);
看看输入的数据是否正确,这样可以避免因小小的意外而浪费大量宝贵的时间。
#5
Wesuiliye2020-04-19 07:59
我试过 你写scanf("%lf,%lf,%lf", &a, &b, &c);时  
%lf,%lf,%lf 之间不能有 , 不然的话 输入有问题
%lf %lf %lf 应该这样写
#6
yl9574057822020-04-20 00:49
玩玩没想到没关输入法竟然会差这么多
1