标题:[求助]一道C题请教
取消只看楼主
无尘剑
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2005-5-18
 问题点数:0 回复次数:1 
[求助]一道C题请教
请按注释提示的要求完成."{=====}"到"{----}"之间的程序。
    在本题中应完成三个自定义函数。
    完成程序后请务必编译并运行程序,没有执行程序的不得分。
注:不得修改"{====}"到"{----}"之外的任何程序。
*/
#include <stdio.h>
#include <math.h>
FILE *fp;
main()
{
   int code=53;
   unsigned char a[200],b[200];
   void store(),readdata(),clrarrayb(),collectd(),findmm(),changeb();
   readdata(a);
   fp=fopen("EXAM3","w");
   fprintf(fp,"%s","Exam3 Result\n");
   fclose(fp);
   clrarrayb(b);
   store(a,b);
   collectd(b,0,200,code);
   clrarrayb(b);
   changeb(a,b);
   collectd(b,0,200,code+4);
   clrarrayb(b);
   findmm(a,b);
   collectd(b,0,1,code+3);
   collectd(b,1,2,code+8);
   printf("Program 3 is finished.\n");
}
/*
    请按要求完成 Store 函数:
   
对于i=0~99,若数组元素a[i]的平方除以1000后的值大于i,则把a[i]存入对应
下标数组元素b[i]中。
*/
void store(a,b)
unsigned char a[],b[];
{
   int i;
   for(i=0;i<100;i++)
/*{=======================================================}*/
 h

/*{-------------------------------------------------------}*/
}
*
    请按要求完成 changeb函数:
   
将a数组中数据除以7后,小数部分大于0.5的数依次存放在数组元素b[0],b[1],...中。

*/
void changeb(a,b)
unsigned char a[],b[];
{
   int i,j;
   j=0;
   for(i=0;i<200;i++)
/*{=======================================================}*/


/*{-------------------------------------------------------}*/
}
/*
    请按要求完成 findmm函数:
   
请在a[19]...a[149]中找出最大的奇数,并求出这部分数的平均数的整数部分,
分别存入b[0]与b[1]。
*/
void findmm(a,b)
unsigned char a[],b[];
{
  int i;
  long sum=0;
  unsigned char max;
  max=-32767;
  for(i=19;i<150;i++)
  {
/*{=======================================================}*/


/*{-------------------------------------------------------}*/
  }
  b[0]=max;
  b[1]=(int)(sum/(150-19));
}
void readdata(a)
unsigned char a[];
{
   int i;
   FILE *fp1;
   fp1=fopen("DATALIB.DAT","rb");
   fread(a,1,200,fp1);
   fclose(fp1);
}
void clrarrayb(b)
unsigned char b[200];
{
   int i;
   for(i=0;i<200;i++) b[i]=0;
}
void collectd(a,num0,num1,code)
int num0,num1,code;
unsigned char a[];
{
    int i;
    double s;
    fp=fopen("EXAM3","a");
    s=code;
    for(i=num0;i<num1;i++) s+=sqrt((double)a[i]);
    fprintf(fp,"%10.3lf\n",s);
    fclose(fp);
}
搜索更多相关主题的帖子: clrarrayb readdata include 
2005-05-18 14:07
无尘剑
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2005-5-18
得分:0 
这是老师出的,我也不知道。

我只是个菜菜鸟,望各位多多指教!!!!!!!!!!
2005-05-20 19:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-18603-1-1.html




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

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