邪修答案
2026-04-07 21:19:12
发布于:甘肃
2阅读
0回复
0点赞
这一题有两个考点:
1.对于高进度小数输出
2.对于题目理解
我们看题

这道题有个难点在于面积的计算
我们画一条辅助线

你会发现其实这个阴影可以分为两个三角形
三角形的面积公式是:底*高/2
现在我们底有了高有了是不是好计算(看不懂见后面图片)
那么代码就是
#include<bits/stdc++.h>
using namespace std;
int main(){
double n,m;cin>>m>>n;
double num_m=m*m/2;
double num_n=(n-m)*n/2;
double num=num_n+num_m;
cout<<num;
}
虽然看着没问题
但是!
这里我们小数精度是高出6位的
可是cout输出最高6位
怎么办呢?
这里我教大家一个简单办法
电脑也不管我们输出是double还是string所以我们可以把数据转换成string
#include<bits/stdc++.h>
using namespace std;
int main(){
double n,m;cin>>m>>n;
double num_m=m*m/2;
double num_n=(n-m)*n/2;
double num=num_n+num_m;
string num_s = to_string(num);
cout<<num_s;
}
像这样,因为num_s不是double类型所以小数限制对它没用我们就可以输出原本的数据了
附录:

这里黄/红色线代表底黄/红箭头线代表高(作者画的不好还请见谅)
这里空空如也







有帮助,赞一个