首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN65.DAT中存有若干个(个数
文件IN65.DAT中存有若干个(个数
admin
2010-01-09
33
问题
文件IN65.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求是:(1)求出这个文件中共有多少个正整数totNum。
(2)求出这些数中的各位数字之和是奇数的个数totCnt,以及满足此条件的这些数的算术平均值totpjz。最后调用函数WriteDat()把所有结果输出到文件OUT65.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
#include<stdio. h>
#include<conio. h>
#define MAXNUM 200
int xx [MAXNUM];
int totNum=0;
int totCnt-0;
double totPjz=0.0;
int ReadDat (void);
void WriteDat(void);
void CalValue (void)
{
}
void main()
{
int i;
clrscr ( );
for (i=0; i<MAXNUM; i++)
xx
=0;
if (ReadDat ())
{
printf ("数据文件IN65.DAT不能打开!\007\n");
return;
}
CalValue ();
printf ("文件IN65. DAT中共有正整数=%d个\n", totNum);
printf ("符合条件的正整数的个数=%d个n", totCnt);
printf ("平均值=%.21f\n", totPj z);
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i=0;
if ( (fp=fopen ("IN65. DAT", "r") ) ==NULL)
return 1;
while ( ! feof (fp))
{
fscanf (fp, "%d", &xx [i++] );
}
fclose (fp);
return 0;
}
void WriteDat(void)
{
FILE *fp;
fp=fopen ( "OUT65. DAT", "w" );
fprintf (fp, "%d\n%d\n%.2,1f\n", totNum, totCnt, totPj z);
fclose (fp);
}
选项
答案
void CalValue (void) { int i, thou, hun, ten, data; for (i=O; i { if (!xx[i]) coutinue; if (xx[i]>0) totNum++; /*求正整数的个数*/ thou=xx [i]/1000; /*求四位数的千位数字*/ hun=xx [i] %1000/100; /*求四位数的百位数字*/ ten=xx [i] %100/10; /*求四位数的十位数字*/ data=xx [i] %10; /*求四位数的个位数字*/ if ((thou+hun+ten+data) %2) { totCnt++; /*求各位数字之和是奇数的个数*/ tot. Pj z+=xx [i]; /*求满足条件的数的总和*/ } totPj z/=totCnt; /*求满足条件的数的平均值*/
解析
本题考查的知识点如下:
(1)“%”与叩’的使用。
(2)数组结束的判断和强行退出一层循环结构。
在本题中,并没有给出确切的数据个数,是以数据的最大个数定义的数组。在主函数中,给所有的数组成员赋初值为0,而从文件中读取的数据是正整数,所以只要数组的某个元素为0,则说明数组存的数据已经结束。此时就可以结束循环结构。这里要借助运算符“%”与“/”将4位数的各位上的数拆成独立的数字,然后就可以根据题意要求判断。
转载请注明原文地址:https://kaotiyun.com/show/1KYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设在SQLServer2008某数据库中有商品表和销售表,两个表的定义如下:CREATETABLE商品表(商品号char(10)PRIMARYKEY,商品名varchar(40),类别varchar(20),进货单价int)C
假定我们要为某社交平台建立一个数据库,存储如下信息:每个用户有用户编号、姓名、手机号;每个群有群编号,群名称;每个帖子有帖子编号、发帖时间、正文;每个群有唯一的用户作为群主,一个用户可以担任多个群的群主;每个群拥有多个用户,每个用户可以加入多个群
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:将ER图转换成关系模式,并指出每个关系模式的主键
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:画出ER图。
具体来说,UML的语义是定义在一个四层建模概念框架中的,这四层分别是:【1】、元模型层、模型层和【2】。
不同的数据库管理系统采用的日志文件格式不完全一样,概括起来主要有以记录为单位的日志文件和以【13】为单位的日志文件两种。
某网上书店根据用户的历史购书记录,采用某种数据挖掘算法分析出用户最可能属于某一类书的爱好者,应该采用()。
数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中_______协议可以完全保证并发事务数据的一致性。
某网上书店根据用户的历史购书记录,采用某种数据挖掘算法分析出用户最可能属于某一类书的爱好者,应该采用()。
设有m个的用户集合US={u1,…,um},现对他们的行为数据进行处理,使得每个用户ui对应一个n维向量Vi=[vi1,…,vin],用于表示用户ui的特征。设有函数sim(Vi,Vj)用于判定用户ui与用户uj之间的相似性。若有算法A,能根据用户间的相
随机试题
A、选择性偏倚B、无应答偏倚C、测量偏倚D、回忆偏倚E、检查者偏倚调查时由于调查对象的代表性很差,使结果出现误差的偏倚是
初产妇,30岁。妊娠30周,视物模糊l天,孕前体健,查体:BP160/105mmHg,脉搏150次/分,双下肢明显水肿,蛋白尿定量2g/d,最可能的诊断是
A.平肝潜阳,制酸止痛B.平抑肝阳,柔肝止痛C.疏肝理气,调经止痛D.理气和胃,祛寒止痛E.疏肝下气,散寒止痛香附的功效是
闲暇时光,或___________在暖阳里,或___________在清风中,泡一壶香茗,在茶香的氤氲中轻轻地打开书卷,让一个个灵魂的文字,跳进眼眸,拨动心弦,这难道不是一种最优雅的姿态?填入画横线部分最恰当的一项是:
甲公司向乙银行借款100万元,丙、丁以各自房产分别向乙银行设定抵押,戊、己分别向乙银行出具承担全部责任的担保函,承担保证责任。下列哪些表述是正确的?(2012年卷三55题,多选)
产品实现过程,管理活动过程,资源管理过程,测量、分析和改进过程,这四个过程存在着相互作用。以()为主过程。
城市热力管道焊接质量检验有()。
普通混凝土路面的胀缝应设置胀缝补强钢筋支架、胀缝板和( )。
期货交易所应当在期货保证金存管银行开立专用结算账户,专户存储保证金,不得挪用。()
李某原为大发公司采购员,现已辞职,但还持有大发公司的一些已盖章的购销合同。某日,其接到大发公司——老客户甲公司的电话,称该公司进口的300公斤茶叶欲低价转让给大发公司,李某遂以大发公司名义跟甲公司签订了转让合同,后大发公司经理拒绝履行合同,称李某非本公司业
最新回复
(
0
)