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

ACM2023

編輯:C++入門知識

/*
求平均成績

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 47739 Accepted Submission(s): 11343


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

lcy
*/
#include <cstdio>
int main()
{
int n,m,score[50][5],num;
while(~scanf("%d%d",&n,&m))
{
double ans[2][50];
for(int i=0,sum=0;i<n;i++,sum=0)
{
for(int j=0;j<m;j++)
{
scanf("%d",&score[i][j]);
sum=sum+score[i][j];
}
ans[0][i]=(double)sum/m;//將平均數放入ans[0][i]中
} //第0行為每個學生的平均數

for(int i=0,sum=0;i<m;i++,sum=0)
{
for(int j=0;j<n;j++)
{
sum=sum+score[j][i];
}
ans[1][i]=(double)sum/n;
}//算每門課的平均的成績
num=0;
for(int i=0,flag=1;i<n;i++,flag=1)
{
for(int j=0;j<m;j++)
{
if(score[i][j]<ans[1][j])
{flag=0;break;}
}
if(flag)
num++;
}//查找各科成績均大於均婁
for(int i=0;i<n;i++)
printf(i==n-1?"%.2lf\n":"%.2lf ",ans[0][i]);
for(int i=0;i<m;i++)
printf(i==m-1?"%.2lf\n":"%.2lf ",ans[1][i]);
printf("%d\n\n",num);
}
return 0;
}

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