본문 바로가기
프로그램/C++ 1000제

C++ 16제] vector 사용, 개수와 평균을 구하시오.

by 건티 2022. 5. 27.
728x90

출처 : 반크_세계유산 고인돌

 

문제]

반 학생들의 몸무게를 입력받아 60kg 이상인 학생의 수와 그들의 평균 몸무게를 구하는 프로그램을 작성하시오. 평균 몸무게는 반올림하여 소수점 이하 둘째 자리까지 출력한다.

(단, 음수의 몸무게가 입력될 때까지 자료를 입력하시오.)

 

입력 예)

70

96

54

89

67

87

45

79

35

-5

 

출력 예)

6

81.33

 

 

참고풀이]

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
   vector<int> v;
   int a;
   int i;
   int Sum;//몸무게의 합 변수
   int Count;//몸무게 60Kg이상인 학생의 수 변수 

   //음수가 입력될 때까지 학생들 몸무게 입력하여 vector에 저장한다.
   while(1)
   {
      cin >> a;
      if(a<0) break;

      //vector에 저장한다.
      v.push_back(a);
   }

   //몸무게 60Kg이상인 학생의 수와 그들의 평균 몸무게를 구한다.
   Sum=0;
   Count=0;
   for(i=0;i<v.size();i++)
      if(v[i]>=60)
      {
         Count++;
         Sum+=v[i];
      }

   //결과출력
   cout << endl;
   cout << Count << endl;
   cout << fixed;//소수자리수를 출력한다고 선언한다. 
   cout.precision(2);//소수자리수를 2자리까지 출력하도록 한다. 자동 반올림 된다.
   cout << (double)Sum/(double)Count;
   cout.unsetf(ios::fixed);//소수자리수 출력 선언 해제한다. 

   return 0;
}

 

참고풀이 결과]

 

 

 

 

대한민국의 아름다운 영토, 독도

 

 

반응형

댓글