蓝桥杯学习记录-21.2.28
一、测试练习
圆的面积
1、问题描述
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
给定圆的半径r,求圆的面积。
输入格式
输入包含一个整数r,表示圆的半径。
输出格式
输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。
说明:在本题中,输入是一个整数,但是输出是一个实数。
对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。
实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。
样例输入
4
样例输出
50.2654825
数据规模与约定
1 <= r <= 10000。
提示
本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。
2、解题思路
(1)本题对精度要求较高,要四舍五入保留小数点后7位,学会引入#include
(2) 同时应该注意PI的值应该取较精确的值,否则编译不通过
3、代码
#include<iostream>
#include <iomanip>
using namespace std;
const double PI=3.14159265358979323;
int main()
{
int r;
cin>>r;
cout<<fixed << setprecision(7)<<PI*r*r;
return 0;
}
二、资源学习
1、学习名称及链接
[#include 的用法]
(https://blog.csdn.net/u013340318/article/details/58244058)
2、学习心得
(1)setprecision( n ) 设显示有效数字为n位
3、对应练习
矩形面积交
(1)题目描述
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式
输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4样例输出
1.00
(2)代码
#include<iostream>
#include<algorithm>
#include <iomanip>
using namespace std;
int main(){
double x1,x2,y1,y2;
double x3,x4,y3,y4;
double m1,n1;
double m2,n2;
cin>>x1>>y1>>x2>>y2;
cin>>x3>>y3>>x4>>y4;
m1 = max(min(x1,x2),min(x3,x4));
n1 = max(min(y1,y2),min(y3,y4));
m2 = min(max(x1,x2),max(x3,x4));
n2 = min(max(y1,y2),max(y3,y4));
if(m1 < m2 && n1 < n2){
cout<<fixed << setprecision(2)<<(m2 - m1) * (n2 - n1);
}
else
cout<<"0.00";
return 0;
}