请问为什么我这么写不对?
紫雨静心 圈内达人 2016-07-31 17:06:03
1182 3 0

int i,j,sum1=0,sum2=0,sum3=0,sum4=0,sum=0;

double ave;

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

{

sum1=sum1+w[0][j];

}

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

{

sum2=sum2+w[i][0];

}

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

{

sum3=sum3+w[N-1][j];

}

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

{

sum4=sum4+w[i][N-1];

}

        sum=sum1+sum2+sum3+sum4;

ave=sum/16;

return ave;


问题来自: 编程题真题

共 3 个回答

    最佳答案

    嘿嘿大人 一代宗师 3269天前

    写代码仔细点嘛,而且人家要求的是保留小数点后面的位数,所以应该先转类型,然后除法 ,不是先除法然后再转;

    int i,j,sum1=0,sum2=0,sum3=0,sum4=0,sum=0;


    double ave;


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


    {


    sum1=sum1+w[0][i];


    }


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


    {


    sum2=sum2+w[i][0];


    }


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


    {


    sum3=sum3+w[N-1][j];


    }


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


    {


    sum4=sum4+w[i][N-1];


    }


            sum=sum1+sum2+sum3+sum4;


    ave=(sum*1.0)/16;


    return ave;



    }

    还有要学会用分支语句,不要这样去硬生生的去加,代码太多了,容易出错

    紫雨静心 圈内达人 3269天前

    回复 嘿嘿大人:谢谢老师的指导

    嘿嘿大人 一代宗师 3269天前

    回复 紫雨静心:不用谢的,要学会灵活运用,不能去死搬硬套

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

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题