杭電--------求平均成績
阿新 • • 發佈:2019-02-02
#include<stdio.h> #include<iostream> #include<algorithm> #include <cstring> #include <string> #include <math.h> #include <cstdio> #include <cmath> #include<string.h> #include <stdlib.h> using namespace std; typedef long long ll; typedef double de; typedef char ar; int main() { ll n,m; de a[55][8]; while(cin>>n>>m) { for(ll i=0; i<n; i++) //輸入資料的同時直接把個人的平均成績求出來,存在二維陣列最後面。 { de sum=0; for(ll j=0; j<m; j++) { cin>>a[i][j]; sum=sum+a[i][j]; } a[i][m]=sum*1.0/m; } for(int i=0; i<n; i++) //輸出個人平均成績。 { if(i<n-1) printf("%.2f ",a[i][m]); else printf("%.2f\n",a[i][m]); } for(ll j=0; j<m; j++) //計算所有同學每一科的平均成績,存在二維陣列最下面,並做輸出。 { de num=0; for(ll i=0; i<n; i++) { num=num+a[i][j]; } a[n][j]=num/n; if(j<m-1) printf("%.2f ",a[n][j]); else printf("%.2f\n",a[n][j]); } ll x=0; for(int i=0; i<n; i++) //通過二維陣列最下面的所有人每一科平均成績與上面的值進行比較,如果都滿足則進行“x++” { ll y=0; for(int j=0; j<m; j++) { if(a[i][j]>=a[n][j]) y++; if(y==m) x++; } } printf("%lld\n",x); cout<<endl; //最後記得再空出一行。(題意看仔細) } return 0; }