首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
admin
2010-06-17
39
问题
已知在文件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全国计算机三级
相关试题推荐
某ARM指令完成的功能是“如果相等,则进行带进位的加法”,该指令是()。
在嵌入式操作系统中,核心部分称为【69】,而对硬件设备进行控制和管理的程序模块称为【70】。
下列各项中,不属于实时操作系统应该具备的特征的是()。
ARM处理器Cortex系列包括Cortex嵌入式处理器和Cortex应用处理器,其中Cortex嵌入式处理器包括主要应用于控制领域的【49】系列和面向实时应用领域的【50】系列。
嵌入式系统的应用极其广泛,下列设备:①洗衣机;②电饭煲;③服务器;④平板扫描仪;⑤路由器;⑥机顶盒;⑦巨型机;⑧POS机中,属于嵌入式系统应用的是()。
在ARM汇编语言程序设计中常有子程序设计,下面指令中不属于子程序调用或者返回的指令是()。
小端模式下ARM指令序列如下:LDRR0,=0x13579246LDRR1,=0xl0000000STRR0,[R1,#8]!执行后,内存0x10000008中的值=__________【55】,R1=__________【56】
局域网是计算机网络中最流行的一种形式。下面有关局域网的叙述中错误的是()。
下面列出的条目中,哪些是事务并发执行中可能出现的主要问题? Ⅰ.丢失更新 Ⅱ.对未提交更新的依赖 Ⅲ.不一致的分析
下面列出的条目中,哪些是事务并发执行中可能出现的主要问题________。Ⅰ.丢失更新Ⅱ.对未提交更新的依赖Ⅲ.不一致的分析
随机试题
某智能停车场泊车的泊车位置由电脑随机派位生成。现有两排车位,每排4个,有4辆不同的车需要泊车。泊车要求至少有一车与其他车不同排,且甲乙两车在同一排。则电脑可生成几种派位方式?()
将函数f(x)=x-1(0≤x≤2)展成周期为4的余弦级数.
求曲线在t=0处的切线方程和法线方程.
患者,男,28岁。全口义齿戴用8年,现出现义齿固位差,咀嚼效率低,要求修复。初戴全口义齿时,出现左右翘动,分析原因,不可能是
某女十被确诊为前置胎盘,对其进行产科检查时,不应该出现的症状是
在谢某涉嫌金融诈骗犯罪的侦查过程中,公安机关采取的下列侦查措施,哪一项是不恰当的?()
某分部工程双代号网络图如下图所示,图中错误有()
设计方进度控制的任务是依据()对设计工作进度的要求,控制设计工作进度,这是设计方履行合同的义务。
根据《海关行政处罚实施条例》的规定,下列关于海关行政处罚案件管辖机关的表述中,正确的是()。(2008年)
在社会主义条件下,中国共产党与各民主党派长期共存,这是因为()。
最新回复
(
0
)