NPSC補完計劃

登入註冊帳號.

請輸入帳號, 密碼以及預計登入時間
進階搜尋  

最新消息:

歡迎光臨NPSC補完計劃

+ NPSC補完計劃 » NPSC國中組 » NPSC2007國中組初賽
 [C++] 2007 NPSC 國中組初賽 E. 白飯

作者 主題: [C++] 2007 NPSC 國中組初賽 E. 白飯  (閱讀 2155 次)

bleed1979

  • 初級會員
  • **
  • 文章數: 28
    • 檢視個人資料
[C++] 2007 NPSC 國中組初賽 E. 白飯
« 於: 七月 18, 2010, 08:37:05 am »

本題同ZJ的b078。

題目目的︰計算序列中低於平均值的數字的個數。

解題技巧︰由於都是不大於100的整數,在計算平均值時,記得轉換型態為浮點數。避免整數除法的錯誤。

代碼: [選擇]
//  C++, ZJ b078, NPSC 2007 E. junior first

#include <cstdio>

int main ()
{
  int n, r;
 
  while ( ~ scanf ( "%d", &n ) && n )
  {
    double avg;
    int grades[1000], total_grades = 0, count = 0;
   
    for ( int i = 0; i != n; ++i )
    {
      r = scanf ( "%d", &grades[i] );
      total_grades += grades[i];
    }
   
    avg = ( double ) total_grades / n;
   
    for ( int i = 0; i != n; ++i )
      count += ( grades[i] < avg );
   
    printf ( "%d\n", count );
       
  }
 
  return ( 0 );
}
記錄
+ NPSC補完計劃 » NPSC國中組 » NPSC2007國中組初賽
 [C++] 2007 NPSC 國中組初賽 E. 白飯