杭电ACM 2023 在自己的电脑上可以运行出“正确”的结果,但提交总是“Wrong Answer”希望高手指出错误,谢
#include<stdio.h>intmain(){intn,m,i,j,ncount=0,Num=0;while(scanf("%d%d",&n,&m)!=EOF){...
#include <stdio.h>
int main()
{
int n,m,i,j,ncount=0,Num=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
int StuScore[50][5]={{0,0}},Score1[50]={0},Score2[5]={0};
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&StuScore[i][j]);
Score1[i]+=StuScore[i][j];
}
}
for(i=0;i<n;i++) printf("%.2lf ",Score1[i]*1.0/m);
printf("\n");
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
{
Score2[j]+=StuScore[i][j];
}
printf("%.2lf ",Score2[j]*1.0/n);
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if((StuScore[i][j]>(Score2[j]*1.0/n))) Num++;
}
if(Num==m) ncount++;
}
printf("%d \n\n",ncount);
}
return 0;
} 展开
int main()
{
int n,m,i,j,ncount=0,Num=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
int StuScore[50][5]={{0,0}},Score1[50]={0},Score2[5]={0};
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&StuScore[i][j]);
Score1[i]+=StuScore[i][j];
}
}
for(i=0;i<n;i++) printf("%.2lf ",Score1[i]*1.0/m);
printf("\n");
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
{
Score2[j]+=StuScore[i][j];
}
printf("%.2lf ",Score2[j]*1.0/n);
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if((StuScore[i][j]>(Score2[j]*1.0/n))) Num++;
}
if(Num==m) ncount++;
}
printf("%d \n\n",ncount);
}
return 0;
} 展开
1个回答
展开全部
#include <stdio.h>
int main()
{
int n,m,i,j,ncount=0,Num=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
int StuScore[50][5]={{0,0}},Score1[50]={0},Score2[5]={0};
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&StuScore[i][j]);
Score1[i]+=StuScore[i][j];
}
}
for(i=0;i<n;i++) printf("%.2lf%c",Score1[i]*1.0/m,i==n-1?'\n':' '); // 行末没有空格
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
{
Score2[j]+=StuScore[i][j];
}
printf("%.2lf%c",Score2[j]*1.0/n,j==m-1?'\n':' '); // 行末没有空格
}
ncount = 0; // 初始化
for(i=0;i<n;i++)
{
Num = 0; // 初始化
for(j=0;j<m;j++)
{
if((StuScore[i][j]>=(Score2[j]*1.0/n))) Num++; // >=
}
if(Num==m) ncount++;
}
printf("%d\n\n",ncount);
}
return 0;
}
int main()
{
int n,m,i,j,ncount=0,Num=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
int StuScore[50][5]={{0,0}},Score1[50]={0},Score2[5]={0};
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&StuScore[i][j]);
Score1[i]+=StuScore[i][j];
}
}
for(i=0;i<n;i++) printf("%.2lf%c",Score1[i]*1.0/m,i==n-1?'\n':' '); // 行末没有空格
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
{
Score2[j]+=StuScore[i][j];
}
printf("%.2lf%c",Score2[j]*1.0/n,j==m-1?'\n':' '); // 行末没有空格
}
ncount = 0; // 初始化
for(i=0;i<n;i++)
{
Num = 0; // 初始化
for(j=0;j<m;j++)
{
if((StuScore[i][j]>=(Score2[j]*1.0/n))) Num++; // >=
}
if(Num==m) ncount++;
}
printf("%d\n\n",ncount);
}
return 0;
}
追问
ncount 和 Num 不是在定义的时候已经初始化了吗?
追答
每次循环都需要重新初始化。。
不然你第二第三个case就有问题了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询