oj题目

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

思路:将输入数据定义为数组,便于根据行或者列进行计算。 将 n个学生的总成绩sum1赋值为b[i],将m个课程的总成绩sum2赋值为c[i],将n个学生的各门成绩与平均成绩进行比较,若都大于或等于平均成绩,count加一。最后输出时在输出函数中把所需要的平均成绩直接计算输出,并在每个实例后跟一个空行。

代码:

#include "stdio.h"

int main()

{

    int a[50][5],b[50],c[5],n,m,i,j,sum1,sum2,count;

    while(scanf("%d %d",&n,&m)!=EOF)

    {

    for(i=0;i<n;i++)

    {

    sum1=0;

    for(j=0;j<m;j++)

    {

    scanf("%d",&a[i][j]);

    sum1+=a[i][j];

    }

    b[i] = sum1;

    }

    for(i=0;i<m;i++)

{

sum2=0;

for(j=0;j<n;j++)

{

sum2+=a[j][i];

}

c[i] = sum2;

}

count=0;

for (i = 0; i<n; i++)

{

for (j = 0;j<m;j++)

{

    if (a[i][j]<c[j]*1.0/n)

      break;

}

if (j == m)

count++;

}

    for (i = 0; i < n - 1; i++)

    printf("%.2lf ",b[i]*1.0/m);

printf("%.2lf\n",b[n-1]*1.0/m);

for (i = 0; i<m-1; i++)

    printf("%.2lf ",c[i]*1.0/n);

printf("%.2lf\n",c[m-1]*1.0/n);

printf("%d\n\n",count);

}

return 0;

}

小结:题目要求中的每个实例后跟一个空行,其实跟换行符是一样的意思,然后就是需要有两个换行符来实现。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容