首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
admin
2010-06-17
47
问题
已知在文件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全国计算机三级
相关试题推荐
UART传送一个字符时有固定的格式,如下图所示。图中①和②分别是【61】位和【62】位。
下面关于NORFlash和NANDFlash的叙述中,错误的是()。
JTAG是指满足IEEE1149规范的边界扫描测试方法及TAP接口,是一种用于片上【77】技术的统称。JTAG接口标准中规定了TAP接口所使用的5个信号,它们分别是【78】、TMS、TDI、TDO和TRST。
控制器局域网常用3个大写英文字母表示为__________【61】,有的ARM嵌入式芯片中集成了该种互连通信组件。控制器局域网的__________【62】帧由7个不同的域组成,其帧格式如下。帧起始仲裁域控制域数据域CRC域
目前流行的嵌入式操作系统有多个,下面不属于嵌入式操作系统的是()。
下面是关于嵌入式系统中使用的无线通信接口或技术的叙述,其中错误的是()。
__________【69】系统是苹果公司智能手机所使用的操作系统,也使用在iPodtouch、iPad等产品上,按照内核结构分类,它属于__________【70】内核操作系统。
关于ARM处理器的工作模式,以下说法错误的是()。
移植μC/OS—II到一个嵌入式系统电路板上正常运行,下面()条件不是必须的。
随机试题
乙炔气瓶周围的温度要低于40℃。
与《素问.调经论》所说“有余则笑不休”、“不足则悲”相关的是()
男性,31岁,下腹部外伤6小时,病人出现小腹隐痛伴排尿困难,试插导尿管可以顺利进入膀胱,注入200ml生理盐水后抽出不足100ml。此种情况应首先考虑
治疗流行性腮腺炎引睾窜腹证首选方为治疗流行性腮腺炎内陷心肝证首选方为
环境影响评价的工艺流程和工艺设计工艺流程图有所不同,主要关心的是()
经济增长的要素包括()
在会计软件中,报表的单元格类型包括()。
公开原则要求基金市场具有充分的透明度,要实现市场信息的公开化。()
下列资产减值准备中,在符合相关条件时可以转回的有()。
关于甲班体育达标测试.三位老师有如下预测:张老师说:“不会所有人都不及格。”李老师说:“有人会不及格。”王老师说:“班长和学习委员都能及格。”如果三位老师中只有一人的预测正确,则以下哪项一定为真?
最新回复
(
0
)