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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM