首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值A
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值A
admin
2010-09-05
19
问题
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值Ave1,以及不满足此条件的四位数平均值Ave2。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。
例如,1239,9-1-2-3>0,则该数满足条件,计算平均值Ave1,且个数count=count+1。 8129,9-8-1-2<0,则该数不满足条件,计算平均值Ave2。
注意:部分源程序已经给出。程序中已定义数组a[300],已定义变量count、Ave1、Ave2。请勿改动主函数main()、读函数Rdata()和写函数Wdata()的内容。
#include <stdio.h>
#int a[300], count = 0;
double Ave1 = 0.0, Ave2 = 0.0;
void diffVal()
{
}
void Rdata()
{ FILE *fp;
int i;
fp = fopen("IN. dat", "r");
for (i=0; i<300; i++)
fscanf(fp, "%d,", &a
);
fclose(fp);
}
void Wdata()
{ FILE *fp;
fp = fopen ("OUT. dat", "w");
fprintf(fp, "%d\n%7.2f\n%7.2f\n", count, Ave1, Ave2);
fclose(fp);
}
main()
{ Rdata();
diffVal();
Wdata();
printf ("count=%d\n 满足条件的平均值 pzj 1=%7.2f\n 不满足条件的平均值pzj2=%7.2f\n", count, Ave1, Ave2);
}
选项
答案
void diffVal() { int i, thou, hun, ten, data, n = 0; for (i=0; i<300; i++) { thou = a[i]/1000; hun = a[i]%1000/100; ten = a[i]%100/10; data = a[i]%10; if (data-thou-hun-ten>0) { count++; Ave1 += a[i]; } else { n++; Ave2 += a[i]; } } Ave1 /= count; Ave2 /= n; } [解题思路] 对于每一个四位数,用这个四位数除以1000,可得到这个四位数千位上的数字输给变量thou:这个四位数对1000求余然后再除以100,可得到这个四位数百位上的数字输给变量hun;这个四位数对100求余然后再除以10,可得到这个四位数十位上的数字输给变量ten;这个四位数对10求余,可得到这个四位数个位上的数字输给变量data。 然后判断表达式data-thou-hun-ten是否大于0,如果大于0,则计数变量count加1,同时把这个数加到变量Ave1上;否则计数变量n加1,同时把这个数加到变量Ave2上。退出循环后,变量Ave1的值除以count值就得到所有满足此条件的四位数的平均值,变量Ave2的值除以n值就得到所有不满足此条件的四位数的平均值。
解析
转载请注明原文地址:https://kaotiyun.com/show/YuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
对于单个元组的操作是由数据库管理系统DBMS层次结构中的哪一层处理的?
设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,哪个(些)是正确的?()Ⅰ.若X→→Y,则X→YⅡ.若X→Y,则X→→YⅢ.若X→→Y,且YY,则X→→Y’Ⅳ.若X→→Y,则X→
操作系统的安全措施有【】、【】和【】。
数据库管理技术的发展是与计算机技术及其应用的发展有着紧密的联系,经历了三个阶段,它们分别是:______阶段、______阶段和______阶段。
在数据库管理系统的层次结构中,数据存取层处理的对象是单个______。它把上层的集合操作转化为单记录操作。
()是目前Internet为人们提供的最主要的服务资源,人们可以通过浏览器查看Internet各站点的文本信息、获取声音图像等不同形式的信息。
一个进程可以包含多个线程,这些线程_____分配给进程的内存地址空间。
在关系数据库规范化理论的研究中,在函数依赖的范畴内,_____达到了最高的规范化程度。
数据库运行控制功能包括数据的【】控制、【】控制、【】和数据恢复等4个方面。
一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打工,则公司与兼职人员之间具有
随机试题
按照《医院感染管理方法》规定,医疗机构发生哪种情况,要向有关部门报告医院感染暴发
法洛四联症不包括
6岁患儿,3天前开始出现高热伴寒战,右膝部肿胀,右腿屈曲,拒绝主动活动,被高度怀疑急性化脓性膝关节炎。该患儿灌洗治疗可以停止的标志是
下列选项中,属于《唐律疏议》篇目名称的有()。
学习兴趣、求知欲属于什么动机?()
世界上最著名的智力表是S量表,该量表最初由法国人比纳和西蒙于1903年编制。
某事业单位共有115名职工,去年和今年均参加年终考核,考核结果分为优秀、合格、不合格三个等次,今年考核结果为优的人数是去年的1.2倍,今年考核结果为合格及不合格的人员比去年少11个。则两年考核结果均为优的人数至少为()。
假设某网络最远的两个站点长度为10km,数据传输率为10Mbit/s的CSMA/CS以太网,信号传播速度为200m/μs。那么该网络的最小帧长为()。
如果我有1000万元我就能买一栋房子,我有1000万元吗?没有,所以我至今也没有房子。如果我有一对翅膀我就能飞,我有一对翅膀吗?没有,所以至今我也没能飞上天空。如果把整个太平洋的水倒干也浇不熄我对你的爱情火焰,太平洋的水倒得干吗?不能,所以,我并不爱你!根
Artificialheartshavelongbeenthestuffofsciencefiction.In"Robocop",snazzycardiacdevicesaremadebyYamahaandJense
最新回复
(
0
)