蓝桥杯学习记录-21.2.28

这篇博客介绍了如何利用C++解决计算圆的面积问题,强调了精度控制和π值的精确表示。同时,展示了如何计算两个矩形交集面积,同样涉及高精度实数输出。学习心得包括理解`setprecision`的作用,并应用到实际编程中。
摘要由CSDN通过智能技术生成

蓝桥杯学习记录-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;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值