历年CSP-J初赛真题解析 | 2023年CSP-J初赛阅读程序(16-20)

学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。

附上汇总贴:历年CSP-J初赛真题解析 | 汇总_csp历年真题_热爱编程的通信人的博客-CSDN博客


#include <iostream>
#include <cmath>
using namespace std;

double f(double a, double b, double c) {  //海伦公式,求三角新面积。但a、b、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);  //指定小数位数为4位

    int a, b, c;
    cin >> a >> b >> c;
    cout << f(a,b,c) << endl;
    return 0;
}

假设输入的所有数都为不超过1000的正整数,完成下面的判断题和单选题:

16、当输入为“2 2 2”时,输出为“1.7321"。( )

【答案】:对

【解析】

将"2 2 2"带入计算,得到1.7321

17、将第7行中的“(s - b) * (s - c)”改“(s - c) * (s - b)”不会影响程序运行的结果。( )

【答案】:对

【解析】

乘法满足交换律,更换两者的顺序,不影响程序运行结果

18、程序总是输出四位小数。( )

【答案】对

【解析】

当a、b、c无法构成面积时,计算结果为0.0000,也仍然保留四位小数

19、当输入为“3 4 5”时,输出为( )

A."6.0000"

B."12.0000"

C."24.0000"

D."30.0000"

【答案】:A

【解析】

将"3 4 5"带入计算,其实就是求直角三角形的面积,得到6.0000,选A

20、当输入为“5 12 13”时,输出为( )。

A."24.0000"

B."30.0000"

C."60.0000"

D."120.0000"

【答案】:B

【解析】

同19题,也是求直角三角形的面积,得30.0000,选B

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/132940627
今日推荐