想问下我写的哪里有问题,出来的答案是错的。
空白格 圈内达人 2017-03-06 15:31:42
1196 3 0

double fun ( int w[][N] )

{

int i,j,sum=0,t=0,array;

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

sum+=w[0][j]+w[4][j];


for(i=1;i<4;i++)

t+=w[i][0]+w[i][4];


sum+=t;

array=sum/16;

return array;


}


问题来自: 编程题真题

共 3 个回答

    qqq 资深元老 助教 3052天前

    sum,t,array都要定义成double类型,否则最后的sum/16不会保留小数而是取整。

    还有,这个编程题不是只要实现计算这个给定矩阵的周边元素平均值而已,而是需要能计算给定的任何矩阵,你的代码写得太死,不灵活,我改了一下,你看看

    double fun ( int w[][N] )

    {

    int i,j;

    double sum=0.0,t=0.0,array;

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

    sum+=w[0][j]+w[N-1][j];


    for(i=1;i<N-2;i++)

    t+=w[i][0]+w[i][N-1];


    sum+=t;

    array=sum/((N-1)*(N-1));  //你把所有数字都固定死了,那这个N传入fun函数有什么作用呢?这个代码还怎么用来计算其他的矩阵呢?

    return array;

    }


    空白格 圈内达人 3052天前

    回复 qqq:谢谢


    罗菓 圈内达人 3044天前

    回复 qqq:老师按你的答案交怎么不行呃

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题