supersuperna123 2016-03-29 12:48 采纳率: 100%
浏览 1332

误入岐途 一道小题无法ac 我的错???求各路神仙相助

**_题目如下
假设一个班有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

Author
lcy

Source**_
我的代码为

# # # ## **#include

# # # ## int main()

# # # ## {

# # # ## int n,m,c;

# # # ## float a[100][100];

# # # ## float b[100];

# # # ## int i,p,jige;

# # # ## float ave1,ave2;

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

# # # ## {

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

# # # ## {

# # # ## for(p=0;p<m;p++)

# # # ## {

# # # ## scanf("%f",&a[i][p]);

# # # ## }

# # # ## }

# # # ## ave2=0;

# # # ## ave1=0;

# # # ## jige=0;

# # # ## c=0;

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

# # # ## {

# # # ## for(p=0;p<m;p++)

# # # ## {

# # # ## ave1=ave1+a[i][p];

# # # ## }

# # # ## ave1=ave1/((1.0)*m);

# # # ## if(i!=(n-1))

# # # ## {

# # # ## printf("%.2f ",ave1);

# # # ## }

# # # ## if(i==(n-1))

# # # ## {

# # # ## printf("%.2f\n",ave1);

# # # ## }

# # # ## ave1=0;

# # # ## }

# # # ## for(p=0;p<m;p++)

# # # ## {

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

# # # ## {

# # # ## ave2=ave2+a[i][p];

# # # ## }

# # # ## ave2=ave2/((1.0)*n);

# # # ## b[p]=ave2;

# # # ## if(p!=(m-1))

# # # ## {

# # # ## printf("%.2f ",ave2);

# # # ## }

# # # ## if(p==(m-1))

# # # ## {

# # # ## printf("%.2f\n",ave2);

# # # ## }

# # # ## ave2=0;

# # # ##

# # # ## }

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

# # # ## {

# # # ## for(p=0;p<m;p++)

# # # ## {

# # # ## c=c+1;

# # # ## if(a[i][p]<b[p])

# # # ## break;

# # # ## }

# # # ## if(c==(m-1))

# # # ## {

# # # ## jige=jige+1;

# # # ## }

# # # ## }

# # # ## printf("%d\n",jige);

# # # ## }

# # # ##

# # # ## return 0;

# # # ## }**

不知道是哪里的错误求帮助求帮助

  • 写回答

1条回答

  • lx624909677 2016-03-29 15:14
    关注
     #include<stdio.h>
    void main()
    {
        int n,m,i,j,count,s;
        double a[51][51],sum1[51],sum2[51];
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            for(j=1;j<=m;j++)
            {
                sum2[j]=0;
            }
            for(i=1;i<=n;i++)
            {
                sum1[i]=0;
                for(j=1;j<=m;j++)
                {
                    scanf("%lf",&a[i][j]);
                    sum1[i]+=a[i][j];
                    sum2[j]+=a[i][j];
                }
            }
            for(i=1;i<=n;i++)
            {
                if(i!=n)
                    printf("%.2lf ",sum1[i]/(double)m);
                else
                    printf("%.2lf",sum1[i]/(double)m);
            }
            printf("\n");
            for(i=1;i<=m;i++)
            {
                if(i!=m)
                    printf("%.2lf ",sum2[i]/(double)n);
                else
                    printf("%.2lf",sum2[i]/(double)n);
            }
            printf("\n");
            count=0;
            for(i=1;i<=n;i++)
            {
                s=0;
                for(j=1;j<=m;j++)
                {
                    if(a[i][j]>=sum2[j]/(double)n)
                        s++;
                }
                if(s==m)
                    count++;
            }
            printf("%d\n\n",count);
        }
    }
    

    要是为了参加ACM做练习,遇到这种问题尽量自己去思考,别人给你答案你看了之后也许能马上明白,但是再有问题你还是不会解决,赛场上能靠的只有队友和少量的资料

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题