通过做这道题,我学会了C++的输出流是怎么控制输出小数位数的,呵呵,所以贴出来。 #include "iostream" #include <iomanip> #include <cstdlib> using namespace std; void main() { int m,n; while (cin>>n>>m) { int count = 0; int result[50][5]; double avgpeo[50]; double avgcla[5]; double temp =0; cout.setf(ios::fixed); for (int i=0;i<n;i++) for (int j=0;j<m;j++) { cin >> result[i][j]; } for (i=0;i<n;i++) { for (int j=0 ; j<m ;j++) { temp+=result[i][j]; } avgpeo[i]=temp/m; if (i == 0)cout<<setprecision(2)<< avgpeo[i]; else cout<<" "<<setprecision(2)<< avgpeo[i]; temp = 0; } cout << endl; for (int j=0; j<m ;j++) { for (i =0 ;i< n; i++) { temp+=result[i][j]; } avgcla[j] = temp/n; if (j == 0)cout<<setprecision(2)<< avgcla[j]; else cout<<" "<<setprecision(2)<< avgcla[j]; temp = 0; } cout << endl; for (i =0; i<n ; i++) { int flage =1 ; for (j =0 ; j<m ; j++) { if (result[i][j]<avgcla[j]) { flage=0; break; } } if (flage == 1) { count ++ ; } } cout << count << endl; cout << endl; } }