程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU2023 求平均成績

HDU2023 求平均成績

編輯:C++入門知識

原題 :   Problem Description   假設一個班有n(n<=50)個學生,每人考m(m<=5)門課,求每個學生的平均成績和每門課的平均成績,並輸出各科成績均大於等於平均成績的學生數量。     Input   輸入數據有多個測試實例,每個測試實例的第一行包括兩個整數n和m,分別表示學生數和課程數。然後是n行數據,每行包括m個整數(即:考試分數)。     Output   對於每個測試實例,輸出3行數據,第一行包含n個數據,表示n個學生的平均成績,結果保留兩位小數;第二行包含m個數據,表示m門課的平均成績,結果保留兩位小數;第三行是一個整數,表示該班級中各科成績均大於等於平均成績的學生數量。 每個測試實例後面跟一個空行。     Sample Input   2 2 5 10 10 20     Sample Output   7.50 15.00 7.50 15.00 1   原碼: [cpp]  #include <stdio.h>   #include <string.h>      int main()   {       int n, m;       int i, j;       int t, d;       int s[50];       int c[5];       int sc[50][5];          while (scanf("%d%d", &n, &m) != EOF)       {           memset(s, 0, sizeof(s));           memset(c, 0, sizeof(c));           memset(sc, 0, sizeof(sc));           for (i = 0 ; i < n ; i++)           {               for (j = 0 ; j < m ; j++)               {                   scanf("%d", &sc[i][j]);                   c[j] += sc[i][j];                   s[i] += sc[i][j];               }           }           for (i = 0 ; i < n ; i++)               printf("%.2lf%c", s[i] * 1.0 / m, i < n - 1 ? ' ' : ' \n');           for (i = 0 ; i < m ; i++)               printf("%.2lf%c", c[i] * 1.0 / n, i < m - 1 ? ' ' : ' \n');           for (t = i = 0 ; i < n ; i++)           {               for (d = 1, j = 0 ; j < m ; j++)               {                   if (sc[i][j] < 1.0 * c[j] / n)                   {                       d = 0;                       break;                   }               }               if (d) t++;           }           printf("%d\n\n", t);       }          return 0;   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved