哦,所以呢?我又错了?
2025-10-11 00:15:16
发布于:广东
24阅读
0回复
0点赞
#include<cstdio>
#include<cmath>
using namespace std;
// 完成求面积的函数 调用函数解题
double s(int a, int b, int c) {
double p=(a+b+c)/2.0;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
int main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.2f",s(a,b,c));
return 0;
}
全部评论 6
额,哥们你懂了吗
2025-10-12 来自 浙江
0代码编辑区里面那个函数三个参数都是int,我就是被这个误导了

2025-10-12 来自 广东
06
2025-10-12 来自 浙江
0
事实上你会注意到“实数”,所以用double类型变量输入三个数,同时因为c++函数的隐式转换你要把函数的传参改为double类型,而且你的输出是“%f”,实际上double类型变量应该用“%.2lf”来输出。
综上所述,是你自己的代码问题。
正解:#include<cstdio> #include<cmath> using namespace std; // 完成求面积的函数 调用函数解题 double s(double a, double b, double c) { double p=(a+b+c)/2.0; return sqrt(p*(p-a)*(p-b)*(p-c)); } int main() { double a,b,c; scanf("%lf%lf%lf",&a,&b,&c); printf("%.2lf",s(a,b,c)); return 0; }2025-10-11 来自 浙江
0哥们,实数。不是整数哥们
2025-10-11 来自 浙江
0找到问题了,
一行三个用一个空格隔开的实数 ,表示三角形的三条边长。
2025-10-11 来自 广东
0可能爆精度了
2025-10-11 来自 广东
0乐子评测机,我都懒得喷
2025-10-11 来自 广东
0“实数”哥们
2025-10-11 来自 浙江
0是你自己的问题不是测评机的问题
2025-10-11 来自 浙江
0不过确实挺乐子的?
2025-10-11 来自 浙江
0
















有帮助,赞一个