作者:不详 来源:互联网   酷勤网收集 2008-04-23

摘要
  请编制函数calvalue(),其功能要求:1、求出这文件中共有多少个正整数totnum;2、求这些数右移1位后,产生的新数是偶数的数的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。

    题目26:已知在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数readdat()读取这若干个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这文件中共有多少个正整数totnum;2、求这些数右移1位后,产生的新数是偶数的数的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。
    注意:部分源程序已给出。
    请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。
----------------------------
void CalValue(void) /*标准答案*/
{int I,data;
 for(I=0;I<MAXNUM;I++)
 {if(!xx[I]) break;
  if(xx[I]>0) totNum++;
  data=xx[I]>>1;
  if (data%2==0){totCnt++;totPjz+=xx[I];}
 }
  totPjz/=totCnt;
}
或者:
void Calvalue(void)
{ int i,k,a,b,c,d;
 for(i=0;i<MAXNUM;i++) if(xx[i]) totNum++;
 for(i=0;i<totNum;i++)
 { k=xx[i]>>1;
   if(k%2==0)
   { totCnt++;
     totPjz+=xx[i];  } }
   totPjz/=totCnt;
}

分类: 题库中心 南开100题

上一篇:题目23:四位数字的正整数,按照题目23要求编制函数   下一篇:题目40:四位数字的正整数,按照题目40要求编制函数