首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN65.DAT中存有若干个(个数
文件IN65.DAT中存有若干个(个数
admin
2010-01-09
13
问题
文件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://jikaoti.com/ti/qMp7FFFM
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设在SQLServer2008某数据库中,已建立了四个文件组:fg1、fg2、fg3和fg4,以及一个分区函数RangePF1。RangePF1的定义代码如下:CREATEPARTITIONFUNCTIONRangePF1(int)
两阶段加锁协议可以保证事务调度的【11】性。
在进行数据库应用系统需求分析时,需要给出允许并发访问的最大用户数,这属于数据库应用系统的【1】需求分析。
假定我们要为某社交平台建立一个数据库,存储如下信息:每个用户有用户编号、姓名、手机号;每个群有群编号,群名称;每个帖子有帖子编号、发帖时间、正文;每个群有唯一的用户作为群主,一个用户可以担任多个群的群主;每个群拥有多个用户,每个用户可以加入多个群
在SQLServer2008中,设log1是SQLServer身份验证模式的数据库服务器登录帐户。现要授予log1具有创建数据库的权限,请补全下列语句:EXECsp_addsrvrolemember′log1′,′【9】′
索引是数据库中重要的数据结构,关于索引现有下列说法:Ⅰ.在某个查询中带排序的属性有多个时可以考虑在这些属性上建立复合索引Ⅱ.一个表中最多只能有一个主索引或聚集索引Ⅲ.多属性索引中,索引属性的顺序一般按照属性的长度进行排列
不同的数据库管理系统采用的日志文件格式不完全一样,概括起来主要有以记录为单位的日志文件和以_______为单位的日志文件两种。
OLAP主要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的数据支持。OLAP的实现方式主要有三种:MOIAP、_______和HOIAP。
下面关于模式分解的说法,错误的是()。
如果电缆调制解调器使用8MHz的频带宽度,那么在利用64QAM时,它可以提供的速率为
随机试题
下列说法错误的是()
下列行为中不属于侵犯他人名誉权的是()。A.到处宣扬某未婚男女有两性关系B.捏造某人是私生子并在其单位散布C.为侮辱他人而在大庭广众下进行谩骂D.在争吵中将某人曾被判有期徒刑的事实张扬出去
最容易并发感染性心内膜炎的心瓣膜病是
下列化学消毒剂中,需现用现配的是
下列各组物质在一定条件下反应,可以制得较纯净1,2-二氯乙烷的是()。
下列关于证券投资基金税收问题的说法,正确的是()。
()形成的质权称为典型质权。
关键风险指标法中选择关键风险指标的基本原则包括()。
鄢陵之战
Inmanysimpleorganisms,includingbacteriaandvariousprotists,thelifecycleiscompletedwithinasinglegeneration:anor
最新回复
(
0
)