做網(wǎng)站 創(chuàng)業(yè) 流程網(wǎng)絡(luò)銷售就是忽悠人
PDF文檔公眾號回復(fù)關(guān)鍵字:20240531
1 2023 CSP-J 閱讀程序1
閱讀程序(程序輸入不超過數(shù)組成字符串定義的范圍:判斷題正確填√,錯誤填×;除特殊說明外,判斷題1.5分,選擇題3分,共計40分)
源代碼
#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;
}
假設(shè)輸入的所有數(shù)都為不超過1000的正整數(shù),完成下面的判斷題和單選題:
判斷題
16 (2分)當(dāng)輸入為“2 2 2”時,輸出為“1.7321”( )
17 (2分)將第7行中的"(s-b)* (s-c)“改為”(s-c)*(s-b)"不會影響程序運行的結(jié)果( )
18 (2分)程序總是輸出四位小數(shù)( )
答案 T
單選題
19 (3分)當(dāng)輸入為“3 4 5”時,輸出為( )
A “6.0000” B “12.0000” C “24.0000” D “30.0000”
20(3分)當(dāng)輸入為“5 12 13”時,輸出為( )
A “24.0000” B “30.0000” C “60.0000” D “120.0000”
2 相關(guān)知識點
1) 浮點數(shù)輸出
C++ cout 浮點數(shù)輸出
在C++中,使用std::cout
輸出浮點數(shù)時,默認(rèn)情況下,浮點數(shù)會以六位有效數(shù)字的形式打印。
如果需要更改浮點數(shù)的輸出格式,可以使用iomanip
庫中的一些函數(shù),如std::fixed
和std::setprecision
。
std::fixed
用于強(qiáng)制以固定點表示法(小數(shù)點表示法)輸出浮點數(shù)。
std::setprecision
用于設(shè)置小數(shù)點后的精度,它接收一個參數(shù)表示精度的位數(shù)。
示例1 -默認(rèn)輸出-位數(shù)不固定
#include<bits/stdc++.h>
using namespace std;
/*cout直接輸出浮點數(shù),系統(tǒng)會選擇合適的位數(shù)
*/
int main() {double d1=31.41;cout<<d1<<endl;//輸出2位 double d2=31.256; cout<<d2<<endl;//輸出3位double d3=31.2561; cout<<d3<<endl;//輸出4位double d4=31.25616; cout<<d4<<endl;//輸出4位,舍去1位 ,具體小數(shù)后位數(shù)和整數(shù)部分也有關(guān)系return 0;
}
示例2 - 固定點表示 -fixed-固定小數(shù)點位數(shù)
#include<bits/stdc++.h>
using namespace std;
/*cout直接輸出浮點數(shù),輸出固定小數(shù)位數(shù)fixed 用于強(qiáng)制以固定點表示法(小數(shù)點表示法)輸出浮點數(shù)setprecision(2) 指定小數(shù)點后保留2位
*/
int main(){double num = 3.14159265;cout<<num<<endl;//輸出默認(rèn)精度 3.14159cout<<fixed<<setprecision(2)<<num<<endl;//指定固定輸出2位小數(shù) cout<<fixed<<setprecision(4)<<num<<endl;//指定固定輸出4位小數(shù) cout<<fixed<<setprecision(6)<<num<<endl;//指定固定輸出6位小數(shù) return 0;
}
2) 海倫公式
海倫公式古希臘數(shù)學(xué)家海倫建立的用三角形三邊的長度求面積的公式
三角形3邊長分別為 a,b,c
半周長 p=(a+b+c)/2
三角形面積 S=sqrt(p * (p-a) * (p-b) * (p-c))
3 思路分析
假設(shè)輸入的所有數(shù)都為不超過1000的正整數(shù),完成下面的判斷題和單選題:
判斷題
16 (2分)當(dāng)輸入為“2 2 2”時,輸出為“1.7321”( )
答案 T
分析
海倫公式計算三角形面積
半周長 p=(2+2+2)/2=3
面積 S=sqrt((3 * (3-2) * (3-2) * (3-2)))=sqrt(3)=1.7321
17 (2分)將第7行中的"(s-b)* (s-c)“改為”(s-c)*(s-b)"不會影響程序運行的結(jié)果( )
答案 T
分析
乘法交換律,結(jié)果不變
18 (2分)程序總是輸出四位小數(shù)( )
答案 T
分析
固定點輸出法,設(shè)置輸出保留4為小數(shù),所以程序總是輸出4位小數(shù)
單選題
19 (3分)當(dāng)輸入為“3 4 5”時,輸出為( )
A “6.0000” B “12.0000” C “24.0000” D “30.0000”
答案 A
分析
模擬計算
半周長 p=(3+4+5)/2=6
面積 S=sqrt((6 * (6-3) * (6-4) * (6-5)))=sqrt(36)=6
20(3分)當(dāng)輸入為“5 12 13”時,輸出為( )
A “24.0000” B “30.0000” C “60.0000” D “120.0000”
答案 B
分析
模擬計算
半周長 p=(5+12+13)/2=15
面積 S=sqrt((15 * (15-5) * (15-12) * (15-13)))=sqrt(900)=30