关于HDoj2023的疑问

清水三千 2018-03-24 04:02:24
如题,做的第一道oj题,今天下午花了一个多小时才写出来(还是看到论坛一个前辈的提示用2维数组),但是一直不通过,看了报错好像是定义数组出了问题,可是我在编译器里写的时候没有报错可以正确运行,求解惑,谢谢!下面是我写的代码
//HD2023:输入学生数n,每人考m(m<=5)门课,然后输入各科成绩,输出每个学生的平均成绩及各科平均成绩以及各科成绩均大于等于平均成绩的学生数;
//zhao 3.23午
#include<stdio.h>
int main()
{
int n,m,i,j;
scanf("%d %d",&n,&m);
int arr[n][m];
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}
double average1[m];
double average2[n];
double sum;
for(i=0;i<n;i++)
{
sum=0;
for(j=0;j<m;j++)
{
sum+=arr[i][j];
}
average1[i]=sum/n;
}
for(i=0;i<m;i++)
{
sum=0;
for(j=0;j<n;j++)
{
sum+=arr[j][i];
}
average2[i]=sum/m;
}
int x=0,y=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(arr[i][j]<average1[j])
{
break;
}
else
x+=1;
}
if(x==m)
y+=1;
}
for(i=0;i<n;i++)
{
printf("%.2f ",average2[i]);
}
printf("\n");
for(i=0;i<m;i++)
{
printf("%.2f ",average1[i]);
}
printf("\n");
printf("%d",y);
return 0;
}
...全文
369 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
清水三千 2018-03-25
  • 打赏
  • 举报
回复
引用 2 楼 自信男孩的回复:
[quote=引用 1 楼 cfjtaishan 的回复:] https://bbs.csdn.net/topics/392344149 建议参考这个帖子
int arr[n][m];
由于m, n都是未知的值,在有些编译器里可能运行出问题(内存越界),因为n, m是随机数。建议使用动态数组(malloc/free)。 https://bbs.csdn.net/topics/392344149 可参考这个帖子的回答[/quote] 好的,谢谢解答,我还没学到指针,所以没有用过
自信男孩 2018-03-24
  • 打赏
  • 举报
回复
引用 1 楼 cfjtaishan 的回复:
https://bbs.csdn.net/topics/392344149 建议参考这个帖子
int arr[n][m];
由于m, n都是未知的值,在有些编译器里可能运行出问题(内存越界),因为n, m是随机数。建议使用动态数组(malloc/free)。 https://bbs.csdn.net/topics/392344149 可参考这个帖子的回答
自信男孩 2018-03-24
  • 打赏
  • 举报
回复
https://bbs.csdn.net/topics/392344149
建议参考这个帖子

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧