• HDU-2023


    求平均成绩

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


    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
     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<math.h>
     4 #include<string.h>
     5 int main()
     6 {
     7     int m,n;
     8     int flag;
     9     double st[100][10];
    10     double stsum;
    11     double stave[100];
    12     int i,j;
    13     int count;
    14     double sum,ave;
    15     double mave[20];
    16     double msum[20];
    17     while (scanf("%d",&n)!=EOF)
    18     {
    19         count = 0;
    20         scanf("%d",&m);
    21         memset(st,0,sizeof(st));
    22         memset(stave,0,sizeof(stave));
    23         memset(mave,0,sizeof(mave));
    24         memset(msum,0,sizeof(msum));
    25         for (i=1;i<=n;i++)
    26         {
    27             stsum=0;
    28             for (j=1;j<=m;j++)
    29             {
    30                 scanf("%lf",&st[i][j]);
    31                 stsum+=st[i][j];
    32                 msum[j]+=st[i][j];
    33             }
    34             stave[i]=stsum/m;
    35         }
    36         for (i=1;i<=m;i++)
    37             mave[i]=msum[i]/n;
    38         for (i=1;i<=n;i++)
    39         {
    40             flag=1;
    41             for (j=1;j<=m;j++)
    42             {
    43                 if (st[i][j]<mave[j])
    44                 {
    45                     flag=0;
    46                     break;
    47                 }
    48             }
    49             if (flag) count++;
    50         }
    51         for (i=1;i<n;i++) printf("%.2lf ",stave[i]);
    52         printf("%.2lf
    ",stave[i]);
    53         for (j=1;j<m;j++) printf("%.2lf ",mave[j]);
    54         printf("%.2lf
    ",mave[j]);
    55         printf("%d
    
    ",count);
    56     }
    57     return 0;
    58 }
  • 相关阅读:
    基于.Net6.0开发WebApi(三) —— 项目中一些运用技巧
    JS FreeCodeCamp
    AutoCAD VBA打开文件对话框
    VBNET设置程序自启动
    C# 将html网页生成pdf
    C#生成二维码 使用ZXing.Net和ThoughtWorks.QRCode
    C# 生成html文件
    C# 调用打印机打印机pdf
    docker基础镜像修改生成步骤
    左膝核磁结果,右侧核磁结果
  • 原文地址:https://www.cnblogs.com/leiyuxiang/p/3494913.html
Copyright © 2020-2023  润新知