| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 562 人关注过本帖
标题:为什么运行结果是225而不是310?
取消只看楼主 加入收藏
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:2 
为什么运行结果是225而不是310?
下列程序定义了N*N的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是求出数组周边元素的平方和并作为函数值返回给主函数中的s。例如:若a数组中的值为
a=0 1 2 7 9
  1 11 21 5 5
  2 21 6 11 1
  9 7 9 10 2
  5 4 1 4 1
则返回主程序的s的值为310。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 5
int fun(int w[][N])
{ int i,j,k,s;
  s=k=0;
  for(i=0;k<2;i=N-1,k++)   /*计算第0行和第N-1行元素的平方和*/
    for(j=0;j<N;j++)
      s+=w[i][j]*w[i][j];
  k=0;
  for(j=0;k<2;j=N-1,k++)   /*计算剩余元素第0列和第N-1列的平方和,结果为所有元素平方之和*/
    for(i=1;i<N-2;i++)
      s+=w[i][j]*w[i][j];
  return s;
}
int main()
{ int a[N][N]={0,1,2,7,9,1,11,21,5,5,2,
        21,6,11,1,9,7,9,10,2,5,4,1,4,1};
  int i,j;
  int s;
  clrscr();
  printf("*****The array*****\n ");
  for(i=0;i<N;i++)
    { for(j=0;j<N;j++)
        printf("%4d ",a[i][j]);
      printf("\n");
    }
  s=fun(a);
  printf("*****THE RESULT*****\n ");
  printf("The sum is : %d\n ",s);
  return 0;
}
主函数是给定的,fun函数是我编写的。哪位大侠能告之。
搜索更多相关主题的帖子: 主程序 元素 
2011-02-05 18:33
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
收藏
得分:0 
点点滴滴,你的代码除了没有使用清屏函数clrscr(),还有就是数组a[N][N]的初始化采用花括号外,其实和我的代码没什么两样,看来你是不知道为什么会是225而不是310了。你贴出来的代码我已经运行过了,还是225。
2011-02-05 20:08
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
收藏
得分:0 
对了,是我太粗心了,谢谢黑侠,谢谢诸位!
2011-02-05 20:25
快速回复:为什么运行结果是225而不是310?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019586 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved