| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 555 人关注过本帖
标题:帮忙完成下划线的空,并解释。
只看楼主 加入收藏
陈艺深13
Rank: 2
等 级:论坛游民
帖 子:22
专家分:11
注 册:2012-7-26
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:8 
帮忙完成下划线的空,并解释。
3、    给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
    例如,有10个正数:46  30  32  40  6  17  45  15  48  26,平均值为:30.500000
    主函数中输出:m=30.0
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include  <stdlib.h>
#include  <stdio.h>
#define   N   10
double fun(double  x[],double  *av)
{ int  i,j;    double  d,s;
  s=0;
  for(i=0; i<N; i++)  s = s +x[i];
/**********found**********/
  ____=s/N;
  d=32767;
  for(i=0; i<N; i++)
    if(x[i]<*av && *av - x[i]<=d){
/**********found**********/
      d=*av-x[i];  j=____;}
/**********found**********/
  return  ____;
}
main()
{ int  i;    double  x[N],av,m;
  for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
  printf("\n");
  m=fun(x,&av);
  printf("\nThe average is: %f\n",av);
  printf("m=%5.1f ",m);
  printf("\n");
}
我想知道定义d=32767是用来干嘛的
搜索更多相关主题的帖子: double include 下划线 平均值 
2012-07-27 15:02
ly2222
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:217
专家分:618
注 册:2012-6-15
收藏
得分:0 
路过,帮顶~
2012-07-27 17:26
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
32767 = 2^15 - 1

也就是16位环境下一个int的最大值

顺便 现在的32位环境int一般都是32位了 最大值也就变成 2^31 - 1


2012-07-27 17:30
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
补充一点 ^ 在这里表示多少次幂 也就是多少次方

题目太难不会做
2012-07-27 17:32
小无相
Rank: 2
等 级:论坛游民
帖 子:35
专家分:39
注 册:2012-7-24
收藏
得分:0 
32767不过是个标记,初始值大一点好,三楼说的对啊,
2012-07-27 17:44
Ivan_An
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2012-7-25
收藏
得分:1 
程序代码:
#include  <stdlib.h>
#include  <stdio.h>
#define   N   10
double fun(double  x[],double  *av)
{
    int  i,j;   
    double  d,s;
    s=0;
    for(i=0; i<N; i++) 
        s = s +x[i];
/**********found**********/
    *av=s/N;
    d=32767;
    for(i=0; i<N; i++)
      if(x[i]<*av && *av - x[i]<=d)
      {
/**********found**********/
      d=*av-x[i]; 
      j=x[i];
      }
/**********found**********/
    return  j;
}
main()
{
    int  i;   
    double  x[N],av,m;
    for(i=0; i<N; i++)
    {
      x[i]=rand()%50;
      printf("%4.0f ",x[i]);
    }
    printf("\n");
    m=fun(x,&av);
    printf("\nThe average is: %f\n",av);
    printf("m=%5.1f ",m);
    printf("\n");
}
不知道对不对,你看下先哈,洗澡去先
2012-07-27 21:08
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:0 
就这代码风格也能出题。。。
另外题太难了,不会做

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-27 21:14
zhonganyun0
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2012-7-26
收藏
得分:1 

这样填就对了
#include  <stdlib.h>
 #include  <stdio.h>
 #define   N   10
 double fun(double  x[],double  *av)
 { int  i,j;    double  d,s;
   s=0;
   for(i=0; i<N; i++)  s = s +x[i];
 /**********found**********/
   *av=s/N;
   d=32767;
   for(i=0; i<N; i++)
     if(x[i]<*av && *av - x[i]<=d){
 /**********found**********/
       d=*av-x[i];  j=x[i];}
 /**********found**********/
   return  j;
 }
 void main()
 { int  i;    double  x[N],av,m;
   for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
   printf("\n");
   m=fun(x,&av);
   printf("\nThe average is: %f\n",av);
   printf("m=%5.1f ",m);
   printf("\n");
 }
2012-07-27 22:15
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
收藏
得分:1 
#include  <stdlib.h>
#include  <stdio.h>
#define   N   10
double fun(double  x[],double  *av)
{ int  i,j;    double  d,s;
  s=0;
  for(i=0; i<N; i++)  s = s +x[i];
/**********found**********/
  *av=s/N;
  d=32767;
  for(i=0; i<N; i++)
    if(x[i]<*av && *av - x[i]<=d){
/**********found**********/
      d=*av-x[i];  j=i;}
/**********found**********/
  return  x[j];
}
main()
{ int  i;    double  x[N],av,m;
  for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
  printf("\n");
  m=fun(x,&av);
  printf("\nThe average is: %f\n",av);
  printf("m=%5.1f ",m);
  printf("\n");
}
//对了给我百分八十就OK了
2012-07-27 23:28
快速回复:帮忙完成下划线的空,并解释。
数据加载中...
 
   



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

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