学习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