标题:hdoj:求班级平均成绩的题目
只看楼主
静默编程
Rank: 2
等 级:论坛游民
帖 子:18
专家分:13
注 册:2017-3-8
结帖率:80%
已结贴  问题点数:10 回复次数:1 
hdoj:求班级平均成绩的题目
题目描述:假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。
提交结果:Runtime Error(ACCESS_VIOLATION)
#include<stdio.h>
#include<math.h>
void main()
{
    int m,n,i,j,num=0,flag=1;
    double a[5][50],ave_m[5],ave_n[50],sum;//ave_m[5]:各科的平均成绩;ave_n[50]:每名学生所有功课的平均成绩
    while(~scanf("%d%d",&m,&n))
    {
        //输入每个学生各科的成绩并求各科的平均成绩
        for(i=0;i<m;i++)
        {
            sum=0;
            for(j=0;j<n;j++)
            {
                scanf("%lf",&a[i][j]);
                sum+=a[i][j];
            }
            ave_m[i]=sum/n;
        }

        //求每名学生m门功课的平均成绩
        for(j=0;j<n;j++)
        {
            sum=0;
            for(i=0;i<m;i++)
            sum+=a[i][j];
            ave_n[j]=sum/m;
        }

        //统计各门功课均不小于班级平均成绩的学生数目num
        num=0;
        for(j=0;j<n;j++)//n名学生
        {
            for(i=0;i<m&&flag;i++)//m门功课
            {
                if(a[i][j]<ave_m[i])
                flag=0;
            }
            if(i==m-1)
            num++;
        }

        //输出各科平均成绩
        for(i=0;i<(m-1);i++)
        printf("%.2lf ",ave_m[i]);
        printf("%.2lf\n",ave_m[i]);

        //输出每名学生所有功课的平均成绩
        for(j=0;j<(n-1);j++)
        printf("%.2lf ",ave_n[j]);
        printf("%.2lf\n",ave_n[j]);

        //输出各科成绩均不低于平均成绩的学生数
        printf("%d\n",num);
    }
}
搜索更多相关主题的帖子: include double 
2017-03-10 17:25
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
//输出各科平均成绩
        for(i=0;i<(m-1);i++)
        printf("%.2lf ",ave_m[i]);
        printf("%.2lf\n",ave_m[i]);

这里应该存在越界问题吧

DO IT YOURSELF !
2017-03-10 20:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474939-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.138747 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved