int totNum = 0 ; /* 文件IN.DAT中共有多少个正整数 */
0 j3 v A% q0 o* r% r; N, sint totCnt = 0 ; /* 符合条件的正整数的个数 */
^* p0 H* O' V, l7 \( i9 W" tdouble totPjz = 0.0 ; /* 平均值 */5 Z w% c2 t" @' p
int ReadDat(void) ;8 A' F1 w) X9 r. r
void WriteDat(void) ;
4 i8 _& c( x% Y# e4 \) t+ w6 V" uvoid CalValue(void)" d; f" i" E7 ], _7 ]( r0 A1 {6 w
{) ~) d9 o/ P! k+ C \+ d1 g
int i, n;
+ \9 }/ B, @/ z0 c. x: `4 G. Ulong cnt = 0 ;
$ i7 d1 c: Y/ ~2 T" V& zfor(i = 0 ; i 《 MAXNUM ; i++){; r7 U9 }7 K- \9 {! p7 H
if(xx[i] 》 0){/*是正整数*/
8 Y! Y' _# m4 A: w& ItotNum++ ;/*计数*/2 q6 b6 q/ T% ?- G' w
/*求各位之和*/
+ a' I1 U: g. e" K; c5 Fn = xx[i]/1000 + (xx[i]%1000)/100 + (xx[i]%100)/10 + xx[i]%10;/ @& F* v6 k$ ^: M) L- W( A) ?
if( n&1 ){/*是奇数*/5 e2 f1 c6 Y+ W' Q% l# _8 _
totCnt++ ;/*统计个数*/! ~* c$ J, X- c: O# o9 h
cnt += xx[i] ;/*计算累加和*/
4 Q. D3 T1 f3 P}" `$ X6 k. ]6 L+ J+ _/ G: B
}
& n; Y% }. Q! r) i1 i}* T. e# A; O# N- a( s1 \: y
totPjz = (double) cnt / totCnt ;/*计算平均值*/
* X$ M! R" |; R- ~( Z1 A5 u" j. G}
9 K9 A0 a, e- d( j6 r! {4 [void main(), p8 D! u" i% H2 k
{
; Z6 J4 V$ v, B; T' b5 x8 d# Cint i ;
% H/ ^1 K% ?! E+ x+ w, oclrscr() ;0 N: g3 k ^8 j9 w' r0 _) \9 h* k
for(i = 0 ; i 《 MAXNUM ; i++) xx[i] = 0 ;) D4 {2 j" b3 K# L8 w4 N- W7 s
if(ReadDat()) {' V$ y$ J# X7 W8 C
printf(数据文件IN.DAT不能打开!\007\n) ;* M' E. o& |4 l8 ]7 V6 \# V* N+ A
return ;" U6 q& J1 h2 p/ ?
}3 h/ y4 L* w+ w
CalValue() ;
, Y0 o) |$ z1 J8 `5 O1 x5 Iprintf(文件IN.DAT中共有正整数=%d个\n, totNum) ;
7 w# Y& t5 R" V3 N3 p% r7 t4 ^ Lprintf(符合条件的正整数的个数=%d个\n, totCnt) ;
6 T6 A$ Y2 H4 M: B+ W) g; yprintf(平均值=%.2lf\n, totPjz) ;
! w: F$ `0 z# cWriteDat() ;
( M$ S; t; @/ M+ A% {6 }}
. K( P, J( {5 I! h6 C1 fint ReadDat(void)* G" A$ t& p3 ]% I
{3 h- e4 m+ \, ~" k3 N2 ~" l* g: Q$ J) L
FILE *fp ;
# S9 T/ T& P; Rint i = 0 ;+ N0 c `! h& j' b+ o5 n' w
if((fp = fopen(in.dat, r)) == NULL) return 1 ;# O, I" x2 b7 W- y
while(!feof(fp)) { |