首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件IN.dat中存有若干个(少于200个)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组number中。请编写函数CalValue(),其功能要求是:①求出文件中共有的正整数个数totNum;②求这些数右移1位后,产生的新数是
已知在文件IN.dat中存有若干个(少于200个)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组number中。请编写函数CalValue(),其功能要求是:①求出文件中共有的正整数个数totNum;②求这些数右移1位后,产生的新数是
admin
2010-09-05
22
问题
已知在文件IN.dat中存有若干个(少于200个)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组number中。请编写函数CalValue(),其功能要求是:①求出文件中共有的正整数个数totNum;②求这些数右移1位后,产生的新数是奇数的数的个数totCnt以及满足此条件的这些数(右移前的值)的算术平均值totAve。最后调用函数writeDat()把所求的结果输出到OUT.dat文件中。
注意:部分源程序已经给出。请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
#include <stdio.h>
#include <conio. h>
#define MAXNUM 200
int number [MAXNUM];
int totNum = 0; /* 文件IN.dst 中共有的正整数个数*/
int totCnt = 0; /* 符合条件的正整数的个数*/
double totAve = 0.0; /* 平均值 */
int ReadDat (void);
void writeDat(void);
void CalValue(void)
{
}
void main ()
{ int i;
for (i=0; i<MAXNUM; i++)
number
= 0;
if (ReadDat())
{ printf (" 数据文件 IN.dst 不能打开! \007\n");
return;
}
CalValue ();
printf(" 文件 IN.dst 中共有的正整数个数=%d个\n", totNum);
printf (" 符合条件的正整数的个数 =%d个\n", totCnt);
printf("平均值=%.2f\n", totAve);
writeDat ();
}
int ReadDat (void)
{ FILE *fp;
int i = 0;
if ((fp = fopen("IN.dat", "r")) == NULL)
return 1;
while (!feof(fp))
fscanf(fp, "%d,", &number [i++]);
fclose (fp);
return 0;
}
void writeDat (void)
{ FILE *fp;
fp = fopen("OUT.dat", "w");
fprintf(fp, "%d\n%d\n%6.2f\n", totNum, totCnt, totAve);
fclose (fp);
}
选项
答案
void CalValue(void) { int i, data; for (i=0; i<MAXNUM; i++) { if (!number[i]) break; if (number[i] > 0) totNum++; data = number[i]>>1; if (data%2) { totCnt++; totAve += number[i]; } } totAve /= totCnt; } [解题思路] 在for循环语句中,自变量i从0递增到MAXNUM对数组number中的每个数进行判断,如果number[i]的值大于0,说明number[i]的值为正整数,统计正整数个数的变量totNum加1;然后number[i]右移1位得到data的值;再对data的值除2求余数,如果其值为1,则统计变量totCnt加1,同时把number[i]的值加到totAve上,得到这些数的和。退出循环后,用totAve的值除以totCnt,就得到了这些数的算术平均值totAve。
解析
转载请注明原文地址:https://kaotiyun.com/show/iuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
在SQL语言中,一个基本表的定义一旦被删除,则与此表相关的下列内容中哪些也自动被删除?Ⅰ.在此表中的数据Ⅱ.在此表上建立的索引Ⅲ.在此表上建立的视图
在一个数据库中,模式的个数
E-R模型转换为关系模式时,将一个多元联系转换为一个关系模式,关系模式的码为参与联系的各个实体的【】。
引入虚拟存储技术的关键前提是______。
设关系模式R(A,B,C)有函数依赖集F={A→B,B→C),则关系R的规范化程度至多达到()。
事务在运行过程中由于某种原因,事务在正常终止之前就被撤销,这种现象称为______。
下面所列的条目中,哪些是新一代数据库开发工具应具有的特征?______。Ⅰ.支持开发人员对各种数据对象(字符、数字、图形、声音等)的处理Ⅱ.支持基于INTERNET应用的开发Ⅲ.支持面向对象的程序设计
对二叉树结点的先序遍历、中序遍历、后序遍历序列中,所有叶子结点的先后顺序______。
假设在关系模式R(U)中,X、Y、Z都是U的子集,且Z=U-X-y。若X→→Y,而U-X-Y=φ,则称X→→Y为_____。
在Internet提供的E-mail服务中,向邮件服务器发送电子邮件时一般使用_____协议。
随机试题
一个字符型变量所占内存的字节数是______。
栀子的别名是
DRIs是一组每日平均膳食营养素摄入量的参考值,下列不属于DRIs内容的是
羌活胜湿汤中,善祛下部风湿的是
辅导人员必须是有主承销资格的证券公司正式从业人员,并从事证券承销业务两年以上。辅导人员中,至少有两人具有辅导两家以上企业股票发行上市经验。()
关于幻想,正确的说法是()
初二(4)班的女学生苏某,是班上的文体委员。14岁的她能歌善舞,聪明伶俐,楚楚动人,深受同学和老师的喜爱。该班的班主任张老师英俊潇洒、气度非凡、年轻有为,业务能力强,上课生动形象,引人入胜,同学们都很喜欢他。苏某特别喜欢上张老师的课,深深地被张老师
填入下面横线上的句子,最恰当的一项是()。每逢春节等中华传统节日,“舞龙”都是一个备受欢迎的节目。________可以说不论天涯海角,凡是华人聚集的地方,都能看到龙的身影。
网球男子单打决赛由纳达尔与费德勒进行比赛,比赛采用7局4胜制,假设每局比赛相互独立.按照以往的胜率统计每局比赛纳达尔战胜费德勒的概率为0.6,则纳达尔以4:2战胜费德勒的概率为()
A、Chemicals.B、Water.C、Gas.D、Vapor.C
最新回复
(
0
)