☆题目 1(方差运算题)
请编制函数 ReadDat()实现从文件 IN.DAT 中读取 1000 个十进制整数到数组 xx 中;请编制
函数 Compute()分别计算出 xx 中奇数的个数 odd,奇数的平均值 ave1,偶数的平均值 ave2
以及所有奇数的方差 totfc 的值,最后调用函数 WriteDat()把结果输出到 OUT.DAT 文件中。
计算方差的公式如下:
N 2
totfc=1/N ∑ (xx[i]-ave1)
i=1
设 N 为奇数的个数,xx[i]为奇数,ave1 为奇数的平均值。
原始数据文件存放的格式是:每行存放 10 个数,并用逗号隔开。(每个数均大于 0 且小
于等于 2000)
/*********编制函数 ReadDat()的部分************/
for(i=0;i<MAX;i++)
{fscanf(fp,"%d,",&xx[i]);
if((i+1)%10==0)
fscanf(fp,"");
}
/*******************************************/
void Compute(void)
{ int i,yy[MAX];
for(i=0;i<MAX;i++)
yy[i]=0;
for(i=0;i<MAX;i++)
if(xx[i]%2) { yy[odd++]=xx[i]; ave1+=xx[i];}
else { even++; ave2+=xx[i];}
if(odd==0) ave1=0;
else ave1/=odd;
if(even==0) ave2=0;
else ave2/=even;
for(i=0;i<odd;i++)
totfc+=(yy[i]-ave1)*(yy[i]-ave1)/odd;
}
*************************************************************************
★☆题目 2(字符串排序题)
函数 ReadDat()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx 中,请编制函
数 SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后
的结果仍按行重新存入字符串数组 xx 中,最后调用函数 writeDat()把结果 xx 输出到文件
OUT2.DAT 中。
例:原文:dAe,BfC.
CCbbAA