博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
题目1002:Grading
阅读量:4560 次
发布时间:2019-06-08

本文共 1356 字,大约阅读时间需要 4 分钟。

这道题的大概意思事:考试评分的过程:首先输入一个成绩P和允许误差T,然后再让G1,G2评分,如果G1和G2评分之间的误差小于T,则G1和G2之间的平均值就是最终的分数;如果G1和G2之间的分数差大于T,则再让G3评分;如果G3是和G1或者G2中间的某一个之间的误差小于T,则最终的结果取G3和该值的平均值;如果G3同时和G1和G2之间的误差都小于T,最终的结果则取G1,G2,G3的最大值;如果G3和G1与G2之间的误差都大于T,则再让另外一个人GJ打分作为最后的分数。

依次输入:P,T,G1,G2,G3,GJ

输出最终的成绩

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 int main(){ 7 int P,T,G1,G2,G3,GJ; 8 double grade; 9 while(cin>>P){10 cin>>T>>G1>>G2>>G3>>GJ;11 if(T<0 || T>=P || G1<0 || G1>P || G2<0 || G2>P || G3<0 || G3>P || GJ<0 || GJ>P){ 12 continue;13 }14 if(abs(G1-G2)<=T){15 grade=(double)(G1+G2)/2;16 }else if(abs(G1-G3)<=T && abs(G2-G3)<=T){17 grade=G1>G3?(double)G1:(double)G3;18 grade=grade>G2?grade:(double)G2;19 }else if(abs(G1-G3)<=T && abs(G2-G3)>T){20 grade=(double)(G1+G3)/2;21 }else if(abs(G2-G3)<=T && abs(G1-G3)>T){22 grade=(double)(G2+G3)/2;23 }else {24 grade=(double)GJ;25 }26 cout <

这道题™不难,只要理清思路就很容易做出来,但是仍有两点要注意:

1.结果要保留一位小数,在C++中,结果保留一位小数是通过以下三句代码实现的:

#include 
//引入头部
cout <
#include 
就可以了,至于为什么,我也不知道。。。。。。。。。。
 

转载于:https://www.cnblogs.com/huanggen/p/5323223.html

你可能感兴趣的文章
Python冒泡排序
查看>>
NGUI 滑动与点击事件冲突处理
查看>>
toLua踩坑
查看>>
php手册总结《安装与配置》
查看>>
PAT-乙级-1001. 害死人不偿命的(3n+1)猜想 (15)
查看>>
git安装及使用
查看>>
mysql一个非常实用解决sql查询优化的函数explain
查看>>
图文讲解NTFS和FAT32硬盘下 asp.net 生成word 错误: 80070005 和 错误:8000401a 的解决方法...
查看>>
《学习》5连接查询(高级查询)
查看>>
python日常—爬取豆瓣250条电影记录
查看>>
11.3NOIP模拟赛
查看>>
1.SDL介绍
查看>>
【重要更新】语言转换类编程工具Tangible系列本月又更新了!
查看>>
现场赛:开关灯问题
查看>>
codeforces A. Jeff and Rounding (数学公式+贪心)
查看>>
zoj 3462
查看>>
java多线程-信号量
查看>>
如何在Delphi XE2中使用Dynamic Web TWAIN
查看>>
js自定义实用函数总结
查看>>
java内存区域与内存溢出异常
查看>>