题目70.txt

来自「c语言小程序100个」· 文本 代码 · 共 25 行

TXT
25
字号
    题目70:已知在文件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) {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)
   { totCnt++;
     totPjz+=xx[i];  } }
   totPjz/=totCnt;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?