首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
admin
2010-06-17
68
问题
已知在文件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全国计算机三级
相关试题推荐
存储器容量以存储1位二进制数为最小单位(bit),容量单位有字节B(Byte)、千字节KB(Kilo一Byte)、兆字节MB(Mega—Byte)等。对于内存容量而言,1MB=【57】KB;对于外存容量(如磁盘、U盘以及Flash存储卡等)而言,1GB=【
若某嵌入式系统的应用程序基于μC/OS—II操作系统平台来开发,那么,应用程序的main()函数中,需要用函数【79】来创建任务。创建任务前用函数【80】来初始化μC/OS—II。
集成电路制造技术是嵌入式系统发展的重要基础,下面关于集成电路技术发展的叙述中,错误的是()。
控制器局域网常用3个大写英文字母表示为__________【61】,有的ARM嵌入式芯片中集成了该种互连通信组件。控制器局域网的__________【62】帧由7个不同的域组成,其帧格式如下。帧起始仲裁域控制域数据域CRC域
在μC/OS—II操作系统下,处于运行态的任务因更高优先级的任务就绪而被剥夺CPU使用权后将转入()。
下面的选项中与实时系统无必然联系的属性是()。
下面是关于嵌入式系统中使用的无线通信接口或技术的叙述,其中错误的是()。
一幅1024×768的彩色图像,每个像素使用16位表示,采用压缩比为5倍的算法压缩图像数据之后,其数据量大约是()MB。
关于ARM指令中的条件域,以下表述错误的是()。
嵌入式Linux操作系统由用户进程、OS服务组件和Linux内核3个部分组成,下面叙述中错误的是()。
随机试题
不出现管型尿的疾病是
[2000年第118题]建筑物内公共卫生间的位置,下列哪一条是允许的?
申请期货公司董事长、监事会主席、独立董事的任职资格时,提交的申请材料要求的推荐人有()。
下列货物适用13%税率征收增值税的有( )。
特制印刷媒介广告的形式主要有()。
美味公司于2015年3月8日领取了税务登记证,主营餐饮服务。在2015年度某月的营业税纳税申报时,该公司与税务机关发生争议:税务机关认为,美味公司当月转让一座旧仓库取得收入也要缴纳营业税;美昧公司不同意税务机关的意见,并以此为由拒缴税款。税务机关在责令限期
法律是由立法机关或国家机关制定,国家政权保证执行的行为规则的总和。其本质为()。
一个3200bit上的TCP报文传到IP层,数据链路层可以发送的最长数据帧中的数据部分只有1200bit。IP层需要向数据链路层发送()。
论述守法的含义和构成要素。
Whichofthefollowingisthebesttopicforthepassage?Thefirstsentence"...,theimportanceofunderstandingthelanguage
最新回复
(
0
)