首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN65.DAT中存有若干个(个数
文件IN65.DAT中存有若干个(个数
admin
2010-01-09
34
问题
文件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全国计算机三级
相关试题推荐
【10】视图是包含查询结果的数据库对象,其数据不是在视图使用时才读取而是预先计算的。
在SQLServer2008中,设有顾客表(顾客号,顾客名,所在地区,年龄),应用系统中需统计指定地区的顾客人数和平均年龄。请补全下列存储过程代码以完成该功能。CREATEPROCP_Count@areavarchar(20)ASSELE
SQLServer中根据索引的实现方式,索引技术可以分成有序索引和【1】两大类。
在SQLServer2008中,计算两个日期之差的函数是【6】。
下列有关基于C/S和基于B/S数据库应用系统体系结构的说法中,错误的是()。
在数据仓库设计和建设过程中,设计者需要调查用户的决策或数据处理需求,并将功能相近且需要相关联数据支持的需求进行归类,得到小同的需求集合,并在企业数据模型中寻找能够满足各个需求集合的数据集合,然后针对各个数据集合开展数据仓库数据模型的设计。这种设计方法称为【
类图技术是面向对象方法的核心技术。下列所示的UML类图中,描述正确的是()。
下列叙述中不属于三层B/S结构数据库应用系统特点和操作特征的是()。
设用UML设计某数据库应用系统,设计人员规划了一组应用程序集,该集合由动态链接库和可执行程序构成。为了展现这些应用程序集间的组织和依赖关系,以对源代码、可执行程序的发布等进行系统建模,应采用的UML图是_______图。
下图所示的简单互联网中,路由器Q的路由表中对应目的网络40.0.0.0的下一跳步IP地址应为【】。
随机试题
设函数ψ(x)=∫0x2ln(1+x)dt,则ψ"(1)=_______.
下列哪一步是体内药物分析中最难、最繁琐,也是极其重要的一个环节
诊断急性细菌性痢疾必做的检查是
女,66岁。疑有三叉神经病变,检查时不可能出现的体征为
荷载效应是指在荷载作用下结构或构件内产生的( )的总称。
证券在证券交易所上市交易,应当采用的交易方式是()。
嘉华公司属于增值税一般纳税人,适用增值税税率17%。原材料(只有一种甲材料)采用计划成本法核算,单位计划成本1.5万元/吨。2012年8月初“原材料”账户余额为195万元(其中暂估入账的原材料成本15万元),“材料成本差异”账户为借方余额4.5万元。嘉
贝勃定律是指当有人经历强烈的刺激后,第一次大刺激能使第二次小刺激的影响淡化。根据上述定义,下列哪一诗句的描述不符合贝勃定律的内涵?
下列有关进化论内容的表述中,不正确的是:
“定本”制度(复旦大学2020年研;南吕大学2020年研;华中师大2019年研;暨南大学2018、2017年研;广西大学2018年研;中国传媒大学2011年研)
最新回复
(
0
)