首页 > 代码库 > hdu 2023 求平均成绩

hdu 2023 求平均成绩

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2023

题目大意:求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。注意格式:每个测试实例后面跟一个空行。

 1 #include <stdio.h> 2 #include <string.h> 3 int main(void) 4 { 5     int n,m,i,j,k,sum; 6     int a[50][50]= {0}; 7     double average[50],average2[5]; 8     while(scanf("%d%d",&n,&m)==2) 9     {10         memset(average,0,sizeof(average));11         memset(average2,0,sizeof(average2));12         sum=0;13         for(i=0; i<n; i++)14             for(j=0; j<m; j++)15             {16                 scanf("%d",&a[i][j]);17             }18         for(i=0; i<n; i++)19             for(j=0; j<m; j++)20             {21                 average[i]+=a[i][j];22             }23         for(i=0; i<n; i++)24         {25             printf("%.2f",(average[i]+0.0)/m);26             if(i<n-1)27                 printf(" ");28             else printf("\n");29         }30         for(j=0; j<m; j++)31             for(i=0; i<n; i++)32             {33                 average2[j]+=a[i][j];34             }35         for(j=0; j<m; j++)36         {37             printf("%.2f",(average2[j]+0.0)/n);38             if(j<m-1)39                 printf(" ");40             else printf("\n");41         }42         for(i=0; i<n; i++)43         {44             k=0;45             for(j=0; j<m; j++)46             {47                 if(a[i][j]>=(average2[j]+0.0)/n)48                     k++;49                 if(k==m)50                     sum++;51             }52         }53         printf("%d\n",sum);54         printf ("\n");55     }56     return 0;57 }