LUOGU P3954题解(NOIP 2017普及组第一题)
来源:互联网 发布:下载网络视频的软件 编辑:程序博客网 时间:2024/06/08 07:50
题目描述:
牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%
牛牛想知道,这门课程自己最终能得到多少分。
NOIP 2017普及组的第一题,很多神犇+大佬一看到此题马上开始切,过了第一个样例点之后直接去切下一道,然而,这里有个小细节需要我们去注意。
我们在用double 或者是 flout 实数类型的时候,赋值时会有微弱的区别,比如说:
double a=0.2;
这个时候,计算机会将其储存为:
a=0.1999999 或者是 a=0.2000001
我们用5*a 的时候,有可能输出0(当答案<1时直接储存为0),也有可能输出1, 所以这是一大坑点。(虽然CCF已经解决)。
但是,我们要避免这种情况的发生,我们可以采用强制类型转换的方法,亦可是直接进行除法运算,即可解决。
代码如下:
1.强制类型转换
#include<iostream>#include<cstdio>using namespace std;int main(){ double a,b,c; cin>>a>>b>>c; double res=a*0.2+b*0.3+c*0.5; long ans=(long) res; //强制将double类型数res转化为长整数ans。 cout<<ans; //输出 return 0;}
2.除
#include<iostream>#include<cstdio>using namespace std;int main(){long a,b,c;cin>>a>>b>>c;long res=(a/5)+(b/3.333)+(c/2); //进行除法运算,注意bcout<<res; //输出return 0;}
阅读全文
0 0
- LUOGU P3954题解(NOIP 2017普及组第一题)
- 2017NOIp 普及组第一题
- LUOGU P3955题解(NOIP 2017第二题)
- NOIP普及组题解
- 2017年NOIP普及组第三题“chess”题解
- NOIP普及组第一题:买铅笔
- NOIP普及组题解(能有民间数据的三题)
- NOIP-2016-普及组 复赛题解
- [NHZXOI2017]2016NOIP普及组复赛题解
- NOIP普及组2009年 细胞分裂 题解
- NOIP-2016-普及-题解
- 【蒻爆了的NOIP系列--普及组复赛】(1)NOIP2010普及组复赛题解
- 【蒻爆了的NOIP系列--普及组复赛】(2)NOIP2011普及组复赛题解
- 【蒻爆了的NOIP系列--普及组复赛】(4)NOIP2013普及组复赛题解
- 【蒻爆了的NOIP系列--普及组复赛】(5)NOIP2014普及组复赛题解
- 【蒻爆了的NOIP系列--普及组复赛】(6)NOIP2015普及组复赛题解
- 【蒻爆了的NOIP系列--普及组复赛】(3)NOIP2012普及组复赛题解
- 【蒻爆了的NOIP系列--普及组复赛】(7)NOIP2016普及组复赛题解
- wannafly挑战赛4C-水题&思维-割草机
- 数单词
- 【SpringMVC】SpringMVC和Struts2的区别
- 分片
- 21 过去式
- LUOGU P3954题解(NOIP 2017普及组第一题)
- linux '....':is not a valid libtool object”错误
- 【Java高并发学习】Thread线程相关
- stm32F4 的IAP原理和组成2
- TreeMap
- 产品方法论
- 小白Java笔记——注释
- HTTP 状态码
- 高性能Java持久化的技巧