为什么会数不出结果呢
朱鹏 圈内达人 2016-12-24 13:35:53
1263 1 0

int i , j ;

double ave, sum=0.0;

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

{

if ( i==0 && i==N-1 )

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

sum+=w[i][j];

else 

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

if ( j==0 && j==N-1 )

sum+=w[i][j];

}

ave=sum/(4.0*(N-1));

return ave;


问题来自: 编程题真题

共 1 个回答

    人气红星 3124天前

    死循环肯定输出 不了结果,首先你用的是&&而不是||,要两边都为真才为真,第一句要真的话只能是i==并且N要等于1才可能成立,而N是常量并且不为1对吧,所以只能执行else,又因为你的for 循环是i<N;j++;  j这个变量一直加到1万,i也不会变,所以一直死循环。

    你的语句为何这么复杂呢,答案其实很简单,如果要用你的语句也可以,我教你改。

    所有&&改||,  所有for ( j=0 ; i<N ; j++) 这里都是j自增,应该判断语句i<N改j<N这样应该差不多了(有两句要改),改完就可以试下你的语句了。

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

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题