| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖
标题:[求助]着两个程序有啥区别!
只看楼主 加入收藏
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
结帖率:83.33%
收藏
 问题点数:0 回复次数:10 
[求助]着两个程序有啥区别!

23、 程序定义了N*N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:
求出数组周边元素的平均值并作为函数值返回给主函数中的s。
则返回主程序后s的值应为:3.375。
着是 我自己写的
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
double fun (int w[][N])
{
int i,b=0;
double m=0,n=0;
for(i=0;i<=N;i++)
{
n+=w[0][i];
n+=w[N-1][i];
b+=2 ;
}
for(i=1;i<=N-1;i++)
{
n+=w[i][0];
n+=w[i][N-1];
b+=2 ;
}
m=n/b;
return m;
}
main()
{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i,j;
double 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 %lf\n",s);
}

\-----------------------------------------------------------------------------------------------------------------------------------\
下面的是 书上的程序

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5


double fun (int w[][N])
{ int i,t=0;
double s=0;
for(i=0;i<N;i++)
{s+=w[i][0]+w[i][N-1]; t+=2;}
for(i=1;i<N-1;i++)
{s+=w[0][i]+w[N-1][i]; t+=2;}
s=s/t;
return s;
}
main()
{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i,j;
double 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 %lf\n",s);
}

\--------------------------------------------------------------------------------------------------------------------------------\
我真看不出 着两个程序有什么区别 ,但是结果咋 就不一样呢????
书上的是3.375
我的是 94.2500000

[此贴子已经被作者于2006-8-23 20:52:29编辑过]

搜索更多相关主题的帖子: 二维 include double 平均值 
2006-08-23 20:50
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
以下是引用mp3aaa在2006-8-23 20:50:32的发言:

23、 程序定义了N*N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:
求出数组周边元素的平均值并作为函数值返回给主函数中的s。
则返回主程序后s的值应为:3.375。
着是 我自己写的
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
double fun (int w[][N])
{
int i,b=0;
double m=0,n=0;
for(i=0;i<=N;i++)
{
n+=w[0][i];
n+=w[N-1][i];
b+=2 ;
}
for(i=1;i<=N-1;i++)
{
n+=w[i][0];
n+=w[i][N-1];
b+=2 ;
}
m=n/b;
return m;
}
main()
{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i,j;
double 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 %lf\n",s);
}

\-----------------------------------------------------------------------------------------------------------------------------------\
下面的是 书上的程序

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5


double fun (int w[][N])
{ int i,t=0;
double s=0;
for(i=0;i<N;i++)
{s+=w[i][0]+w[i][N-1]; t+=2;}
for(i=1;i<N-1;i++)
{s+=w[0][i]+w[N-1][i]; t+=2;}
s=s/t;
return s;
}
main()
{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i,j;
double 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 %lf\n",s);
}

\--------------------------------------------------------------------------------------------------------------------------------\
我真看不出 着两个程序有什么区别 ,但是结果咋 就不一样呢????
书上的是3.375
我的是 94.2500000


[此贴子已经被作者于2006-8-23 20:58:38编辑过]


汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-08-23 20:56
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
一样的啊 大哥 反正都是加  我又没有加重复  都是加周边的元素啊

羊肉串 葡萄干 哈密瓜!!
2006-08-23 21:02
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
先加后加 还不是一样吗

羊肉串 葡萄干 哈密瓜!!
2006-08-23 21:02
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
<=和&lt;的区别。

对不礼貌的女生收钱......
2006-08-23 21:05
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
以下是引用soft_wind在2006-8-23 21:05:01的发言:
<=和<的区别。

对哇 我咋没想到呢!!!
但是还有个问题,不就是《=吗 为什么 结果的差距怎么打呢?


羊肉串 葡萄干 哈密瓜!!
2006-08-23 21:13
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
越界访问错误是无法预料的。

对不礼貌的女生收钱......
2006-08-23 21:19
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

哦 哦哦
多谢了


羊肉串 葡萄干 哈密瓜!!
2006-08-23 21:26
avlmo
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-5-26
收藏
得分:0 
我没看懂

衣服脱掉后,爱情就哭了.
2006-08-24 00:37
nonname1024
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-7-10
收藏
得分:0 
i&lt;=5,其实数组最大只能到a[0][4],第二个i&lt;=N-1让n多执行了一次循环加
2006-08-24 09:58
快速回复:[求助]着两个程序有啥区别!
数据加载中...
 
   



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

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