首页 > 代码库 > 求平均成绩
求平均成绩
Problem B: 求平均成绩
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 43 Solved: 6
[Submit][Status][Web Board] [Edit] [TestData]
Description
班上有学生若干名,已知每名学生的成绩(整数),求班上全部学生的平均成绩。保留到小数点后两位。同一时候输出该平均成绩整数部分四舍五入后的数值。 第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,表示每一个学生的成绩,取值在int范围内。
Input
2 12 14
Output
13.00 10
Sample Input
2
12
14
Sample Output
13.00 10
HINT
要输出浮点数、双精度数小数点后2位数字,能够用以下这样的形式:
printf("%.2lf", num);
思路:我交了几次。得出了比較特殊的数据。。比方说是平均成绩sum是94.994……应该输出的是94.99 90,假设平均成绩sum是94.995……的话,应该输出95.00 100 int copy=int(sum);
所以我想出了对 平均成绩+0.005+5 与 (copy/10+1)*10比較。假设小于的话,就输
出copy/10*10,否则输出(copy/10+1)*10;
感觉这道题还是挺难的。发现这个做法感觉挺好。。
。
#include<iostream> #include<stdio.h> using namespace std; int main() { int n,i,copy; double a[100],sum; while(scanf("%d",&n)!=EOF) { sum=0; for(i=0;i<n;i++) { cin>>a[i]; sum+=a[i]; } sum=sum/n; copy=int(sum); printf("%.2lf ",sum); if(sum+5+0.005<(copy/10+1)*10) cout<<copy/10*10<<endl; else cout<<(copy/10+1)*10<<endl; } return 0; }
求平均成绩
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。