ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[简单模拟]7-8 分数统计 (20分)

2020-02-04 21:54:01  阅读:630  来源: 互联网

标签:分数 四舍五入 20 int 学生 做作业 填写 10% 模拟


学校为了控制作业量,实施“轻负担,高质量”的有效教学,对所有在校学生的作业量情况进行了调查。每个学生填写做作业所需要的时间。最后统计出所有学生做作业时间的平均值。 为了避免个别学生不客观填写的影响,规定学生的填写的数字应该为1至100间的正整数,如果某个学生填写了不在此范围内的整数,统计平均值时应该忽略这个学生。现在要求完成: (1)统计出所有学生做作业时间的平均值; (2)除去做作业时间前10%的学生和后10%的学生后(10%学生数按四舍五入计),统计做作业时间的平均值。 请你写个程序,完成以上任务。(提示:Pascal语言中, Round(x)为四舍五入函数,在C语言中可使用int(x+0.5))

输入格式:

第1行有1个正整数n。表示有n个人。 第2行至第n+1行共n行,每行只有1个整数,表示每个学生填写的做作业时间。

输出格式:

有2行,每行只有1个数(保留2位小数) 第1行只有一个整数,表示所有合法填写学生做作业的平均时间; 第2行只有一个整数,表示除去10%最多时间和10%最少时间的学生后,所有合法填写学生做作业的平均时间;

输入样例:

7
10
60
80
70
90
110
100

输出样例:

68.33
75.00

思路:简单模拟题目意思即可

           注意四舍五入可以用 int(x+0.5)的方法

 

【样例说明】 所有学生做作业的平均时间为:(10+60+80+70+90+100)/6=68.33 10%的学生数为:7*10%=0.7≈1(四舍五入至整数) 除最快和最慢的1个学生外,做作业的平均时间为: (60+80+70+90)/4=75.00

30%的数据,5≤n≤10,且所有学生填写的做作业时间均在1至100之间。 100%的数据,5≤n≤1000。学生填写的数据保证为整数,合法填写的学生数保证大于10%的学生数(四舍五入至整数后)的2倍。

 1 #include<iostream>
 2 #include<string>
 3 #include<vector>
 4 #include<algorithm>
 5 using namespace std;
 6 int main()
 7 {
 8     int n, tmp1, tmp2;
 9     double sum = 0;
10     vector<int>v;
11     cin >> n;
12     tmp1 = n;
13     tmp2 = int(n*0.1 + 0.5);
14     for (int i = 0; i < n; i++)
15     {
16         int tmp;
17         cin >> tmp;
18         if (tmp >= 1 && tmp <= 100)
19         {
20             sum += tmp;
21             v.push_back(tmp);
22         }
23         else
24             tmp1--;
25     }
26     printf("%.2f\n", sum/tmp1);
27     sort(v.begin(), v.end());
28     for (int i = 0; i < tmp2; i++)
29     {
30         sum -= v[i];
31         tmp1--;
32     }
33     for (int i =v.size()-tmp2; i <v.size(); i++)
34     {
35         sum -= v[i];
36         tmp1--;
37     }
38     printf("%.2f", sum/tmp1);
39 }

 

标签:分数,四舍五入,20,int,学生,做作业,填写,10%,模拟
来源: https://www.cnblogs.com/luoyoooo/p/12261624.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有