第一题|| P5708 Triangle Area)
LUOGU新手题,本题就是初中数学三角形面积通用计算公式,根号用到了sqrt,函数包含在头文件#include<math.h> / #include<cmath>
前者是C语言,后者是C++中使用的。题意说是输入的边长不会超过两位小数,所以一开始用了float型变量,后来最后一个测试点没有过,应该最后四舍五入的时候精度不够,所以改用double,就顺利通过了。
一开始看见保留一位小数且四舍五入的时候,还给最后计算的结果先加了0.05area += 0.5
再输出答案printf("%.1lf",area);
最后发现答案都不正确,后来查阅C语言课本,发现形如x.xf%
都是自动对下一位进行四舍五入的。例如本题中的%.1f
就是保留一位小数,第二位小数四舍五入~
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c;
double p,area;
scanf("%lf%lf%lf",&a,&b,&c);
p = 0.5*(a+b+c);
area = sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.1lf",area);
return 0;
}
第二题|| P5709 Apple Prologue
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/65e7ca313edd65f4216c79e49af2d099.png)
本题过于简单就不再赘述,需要注意的就是t=0的时候,结果是置0的(有提示,被零除)以及结果不能为负数 (当时间s太大时,苹果肯定就被吃完了)
//P5709 Apple Prologue
#include<stdio.h>
int main()
{
int m,t,s;
int ans;
scanf("%d%d%d",&m,&t,&s);
if(t == 0)
{
ans = 0;
}
else if(s%t==0)
{
ans = m - s/t;
}
else
{
ans = m-s/t-1;
}
if(ans<0)
ans = 0;
printf("%d",ans);
return 0;
}