noi 1.5 1 求平均年龄
班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。
输入
第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。
输出
输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。
样例输入
2
18
17
样例输出
17.50
题意
输入有多少名学生,然后输入每个学生的成绩,求这些成绩的平均分。
嘚嘚两句
1.5循环控制是比较重要的一个基础,全国青少年等级考试1级中考的就是1.5及1.5以前的,1.5主要是循环控制类的题,这一类的题比较之前来说对思维的要求更高了,对写程序的人对代码的理解透不透彻的要求也高了,有时会思维给不上,会觉得“我去,编程还能这么玩?”,对于萌新来说肯定是很奇妙的。
思路
1.如何做到输入每个学生的成绩:
(1)变量:之前讲过,变量就像一个盒子,输入就是往盒子里头放东西,输出就是系统告诉你盒子里有啥,但是,在输入的时候有一个特性:那就是系统会自动抛弃盒子里原有的东西,让你新输入的东西代替,这也就为我们输入每个学生的成绩打下了基础。
(2)人数:根据题意得知:每次输入的人数不定,没法傻乎乎的写一大溜程序,然后......根据上文对变量的特性的解释,也就是说我们每一次都可以用一个变量来临时存储这个学生的成绩,然后再把这个学生的成绩存到一个表示总成绩的变量里,求平均分时在循环结束后用这个总成绩除以总人数就完成了。
最后,别忘了,输出要求保留两位小数。(printf)
代码实现
#include<iostream>
using namespace std;
int main(){
double a,b,c,n;
cin>>n;//输入总共有多少名学生。
for(int i=1;i<=n;i++){//循环
cin>>a;//临时存储这一位学生的成绩
b=b+a;//然后把这位学生的成绩存储到总成绩里
}
c=b/n;//求平均数(用一个变量存储下总成绩除以总人数,别忘了小数形式)
printf("%.2f",c);//输出保留2位小数
return 0;
}