1059:求平均年龄
【题目描述】
班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。
【输入】
第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。
【输出】
输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。
【输入样例】
2
18
17
【输出样例】
17.50
题目分析:
本题运用循环就和,做题之前先搞清楚解题思路,题目要求有n名同学,每一名同学的年龄都需要输入,很明显要输入n次,这里我们就有了重复n次的for循环
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
}
return 0;
}
然后思考在循环里要做什么事,需要输入每名同学的年龄,我们来进一步完善代码
#include<iostream>
using namespace std;
int main(){
int n,a;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
}
return 0;
}
到了这里有的同学就会有疑问,这样输入同学的成绩,会把结果都输入到变量a里面去,变量又只会存储最后一个成绩,这样是没意义的。这里先不要急,题目还有什么要求,
我们要求平均值,我们知道平均值 = 总数除以个数,这里我么的问题就转变了,从求平均值变成求总和,怎么求呢,这里我们每循环一次都会输入一次学生的年龄,那么我
们在加一句话sum = sum + a;让每次输入的年龄a都存储到sum这个求和变量中,并且每次都会给变量a一个全新的年龄,那么sum每次加的值都是不一样的,最终循环结束
时,sum里面存放的就是n名学生的年龄总和,最后输出的时候用sum除以n即可
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int n,a;
double sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
sum=sum+a;
}
printf("%.2lf",sum/n);
return 0;
}
本内容仅供同学们学习借鉴,请勿盲目的抄写代码,如果文章中有任何问题,请留言,评论,共同学习进步!
本文来自博客园,作者:MacToT,转载请注明原文链接:https://www.cnblogs.com/zhouxing-bmw/p/15638426.html