7-111 統計一批學生的平均成績與不及格人數 (15分)

在這裏插入圖片描述

代碼一(會輸出nan)

c++中nan,inf詳解
分母可能爲0,所以加上一個判斷

#include <iostream>
#include<cmath>
using namespace std;

double n,avg=0;
int cnt=0,f=0;

int main()
{
	while(~(scanf("%lf",&n))&&n>=0){
		avg+=n;
		f++;
		if(n<60) cnt++;
	}
	printf("Average = %.2lf\n",avg/f);
	if(cnt){
		printf("Count = %d\n",cnt);
	}
}

代碼二(正確)

f代表有無學生,如果有學生,則正常求平均值,如果沒有的話,用默認的avg的值0.00

如果有學生,就輸出cnt數量 ※,沒有學生的話不顯示

#include <iostream>
#include <cmath>
using namespace std;

double n,avg=0;
int f=0,cnt=0;

int main()
{
	while(~(scanf("%lf",&n))&&n>=0){
		avg+=n;
		f++;
		if(n<60) cnt++;
	}
	////////////////////////////
	if(f) avg=avg/f;//有學生 
	printf("Average = %.2lf\n",avg);  //沒有的話就輸出avg的初始值 0 
	if(f) printf("Count = %d\n",cnt);
	/////////////////
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章