首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
admin
2010-06-17
56
问题
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少一个完全平方数(某个整数的平方)的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。
部分源程序已给出。
请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。
#include<stdio.h>
#include<conio.h>
#define MAXNUM 200
int xx[MAXNUM];
iht totnum=0;
iht totcnt=0;
double totpjz=0.0;
int readdat(void);
void writedat(void);
void calvalue(void)
{
}
void main ()
{
int i;
clrscr ();
for (i=0; i if (readdat ())
{
printf("Can’t open the data file in.dat!\007\n");
return;
}
calvalue ();
printf ( "totnum=%d\n", totnum);
printf ( "totcnt=%d\n" , totcnt );
printf ( "totpj z=%. 21f\n", totpj z);
writedat ();
}
int readdat (void)
{
FILE *fp;
int i=0;
if( (fp=fopen ("in.dar", "r") )==NULL) return 1;
while ( ! feof (fp))
fscanf (fp, "%d, ", &xx [i++] ;
fclose (fp);
return 0;
}
void writedat (void)
{
FILE *fp;
fp=fopen ( "out. dar", "w" )
fprint f ( fp, "%d\n%d\n%. 21 f\n", totnum, totcnt, totpjz);
fclose (fp);
}
选项
答案
#include <math.h> void calvalue(void) { int i, j, data, sqt; for(i=0;i { if(!xx[i]) break; /*数据结束*/ if(xx[i]>0) totnum++; /*计数*/ for (j=1; j<=6; j++) { data=(xx[i]>>); /*移位*/ sqt =(int) (sqrt ( (double) data) +0.5); /*求平方根并四舍五入取整*/ if(sqt*sqt == data) /*完全平方数*/ { totcnt++; totpjz+=xx[i]; /*计数,求和*/ break; } } } totpjz/=totcnt; }
解析
类型:整数移位运算。
关键点:
(1)数据结束判断:分析main()和readdat(),得到xx
为有效数据的条件是0<=xx
<MAXNUM且xx
!=0。
(2)移位运算:>>,注意运算符优先级。
(3)完全平方数判断:可以开平方再平方与原数比较,也可以枚举出10000以内所有四位完全平方数再查表,解答中采用第一种,需要加上头文件math.h。
转载请注明原文地址:https://kaotiyun.com/show/EBvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
若某嵌入式系统的应用程序基于μC/OS—II操作系统平台来开发,那么,应用程序的main()函数中,需要用函数【79】来创建任务。创建任务前用函数【80】来初始化μC/OS—II。
程序存储器和数据存储器仅用一套总线与CPU连接的这种存储结构称为【47】_______结构,程序存储器和数据存储器分开采用两套总线与CPU连接的存储结构称为【48】_______结构。
嵌入式应用程序经过交叉工具链生成映像文件之后,需要下载到【77】进行调试。调试完毕后映像文件必须由专用工具烧写到ROM中去,这种烧写工具俗称【78】。
嵌入式系统【71】的时候,所有的微处理器通常都从某个由CPU制造商预先安排的地址上取指令。例如,基于ARM920T核的微处理器从地址0x00000000取得它的第一条指令。CPU执行的第一条指令就是【72】程序中的第一条指令。
与个人计算机(PC)相比,嵌入式系统具有许多不同的特点。下面不属于嵌入式系统特点的是()。
指纹考勤机(如图所示)通常用于在工作日的上班时间,采集员工指纹信息,以确定该员工是否正常上班。其基本功能要求有:a、能够采集指纹信息,并求取指纹特征,然后与事先预存在指纹特征库中的指纹特征比对。b、系统中需存储指纹图原始信息和指纹特
局域网是计算机网络中最流行的一种形式。下面有关局域网的叙述中错误的是()。
UART传输一个字符时有固定的格式约定。字符总是以起始位开始,停止位结束,起始位以逻辑【65】电平为标志,停止位以逻辑【66】电平为标志,停止位可为1位、1位半和2位。
设一棵二叉树中,度为1的结点数为9,则该二叉树的叶结点的数目为
下面列出的条目中,哪些是事务并发执行中可能出现的主要问题? Ⅰ.丢失更新 Ⅱ.对未提交更新的依赖 Ⅲ.不一致的分析
随机试题
活动开展之前对活动计划的可行性论证,人们称之为()
中国封建社会产生过诸多“盛世”,出现在清代的是()
定喘穴位于背部,当第7颈椎棘突下,旁开( )。
由于采用了()定位,实现了海上远程打桩的全天候作业,工效显著提高。
企业增资扩股时,投资者实际缴纳的出资额大于其按约定比例计算的其在注册资本中所占的份额部分,应作为()。
甲食品厂向乙面粉厂购买面粉20吨,货款共计12万元。2016年3月8日,甲食品厂向乙面粉厂出具了以自己为出票人、其开户行A银行为付款人、乙面粉厂为收款人、票面金额为12万元的见票即付的商业汇票一张,并在该汇票上签章。3月20日,乙面粉厂向丙机
多种感官参与学习能有效增强记忆。
边防治安工作主要包括()。
下列属于重证据和调查研究,严禁逼供信政策的基本要求的有()。
Theawardwascontestedbyoneofthe
最新回复
(
0
)