正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-J 2023 第一轮真题 › 第 20 题
CSP-J 2023 第一轮 第 20 题:程序(一):输入5 12 13时的输出
题目
#include<iostream>
#include<cmath>
using namespace std;
double f(double a,double b,double c){
double s=(a+b+c)/2;
return sqrt(s*(s-a)*(s-b)*(s-c));
}
int main(){
cout.flags(ios::fixed);
cout.precision(4);
int a,b,c;
cin>>a>>b>>c;
cout<<f(a,b,c)<<endl;
return 0;
}
假设输入的所有数都为不超过 $1000$ 的正整数,完成下面的判断题和单选题:
本小题
当输入为 5 12 13 时,输出为( )
选项
- A. 24.0000
- B. 30.0000
- C. 60.0000
- D. 120.0000
答案
B
题解
选 B. 30.0000。
将 a=5,b=12,c=13 代入函数:
s=(5+12+13)/2=15。- 返回值为
\[ \sqrt{15(15-5)(15-12)(15-13)} =\sqrt{15\times10\times3\times2} =\sqrt{900}=30。 \]
ios::fixed 配合 cout.precision(4) 表示固定保留 4 位小数,因此输出:
``text 30.0000 ``
这个函数使用的是求三角形面积的海伦公式。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号