已知数据文件in33.dat中存有300个4位数 并已调用函数readDat()把这些数存入数组a中
已知数据文件in33.dat中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数writeDat()把结果cnt,pjz1,pjz2输出到out33.dat文件。
例如:1239,9-1-2-3>0,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。
8129,9-8-1-2<0,则该数不满足条件,计算平均值pjz2。
注意:部分源程序已给出。
程序中已定义数组:a[300],b[300],已定义变量:cnt,pjz1,pjz2。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
参考解答
答案:
#include
int a[300, cnt=0;
double pjz1=0.0,pjz2=0.0;
void readDat();
void writeDat();
void jsValue()
{
int i,thou,hun,ten,data,n=0;
for(i=0;i<300;i++)
{
thou=a[i/1000; /*求四位数的千位数字*/
hun=a[i00/100; /*求四位数的百位数字*/
ten=a[i0/10; /*求四位数的十位数字*/
data=a[i; /*求四位数的个位数字*/
if(data-thou-hun-ten>0) /*如果个位数减千位数减百位数减十位数大于0*/
{
cnt++; /*统计满足条件的数的个数*/
pjz1+=a[i; /*将满足条件的数求和*/
else
{
n++; /*否则统计不满足条件的数的个数*/
pjz2+=a[i; /*将不满足条件的数求和*/
pjz1/=cnt; /*求满足条件的数的平均值*/
pjz2/=n; /*求不满足条件的数的平均值*/
void main()
{
readDat();
jsValue();
writeDat();
printf('cnt=%d\n满足条件的平均值pjz1=%7.2lf\n不满足条件的平均值pjz2=%7.2lf\n',cnt,pjz1,pjz2);
void readDat()
{
FILE *fp;
int i;
fp=fopen( 'in33.dat','r');
for(i=0;i<300;i++)
fscanf(fp,'%d,',&a[i);
fclose(fp);
void writeDat()
{
FILE *fp;
fp=fopen('out33.dat','w');
fprintf(fp,'%d\n%7.2lf\n%7.2lf\n',cnt ,pjz1,pjz2);
fclose(fp);
相似问题
容灾项目实施过程的分析阶段 需要进行( )A.灾难分析B.业务环境分析C.当前业务状况分析D.以上均
容灾项目实施过程的分析阶段,需要进行( )A 灾难分析B 业务环境分析C 当前业务状况分析D 以上均正确
获取需求的主要方法包括( )。A.面谈B.实地观察C.问卷调查D.查阅资料
获取需求的主要方法包括( )。A 面谈B 实地观察C 问卷调查D 查阅资料
简述比较CPU算法的准则。
简述比较CPU算法的准则。
下列属于概念设计常用建模方法的是( )A.ERB.IDEFOC.DFDD.UML
下列属于概念设计常用建模方法的是( )A ERB IDEFOC DFDD UML
系统数据备份包括的对象有( )。A.配置文件B.日志文件C.用户文档D.系统设备文件
系统数据备份包括的对象有( )。A 配置文件B 日志文件C 用户文档D 系统设备文件