首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
admin
2010-06-17
70
问题
已知在文件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。
以下各嵌入式操作系统中,既按开发版本的授权数量收取授权费,也按最终产品售出的实际数量收取每份运行软件的版权费的是()。
在经典ARM处理器中ARM920T是典型代表,采用ARM9TMDI内核,它具备的主要性能和部件包括()。①支持ARM/Thumb指令集②具有快速乘法器③哈佛结构④指令Cache与数据Cache分离⑤五级流水线⑥具有MMU⑦唤醒
下面关于引导加载程序(Bootloader)的叙述中,正确的是()。
在μC/OS—II操作系统中,某任务的代码正在执行,则该任务应处于_________【75】态。若该任务需要等待键盘中断服务程序向其发送信息,则该任务转变为_________【76】态。
在μC/OS-II操作系统中,当处于运行态的任务执行节拍延时函数OSTimeDly()后,该任务将转入【73】_______态。一旦预定的延时时间达到,该任务立即转入【74】_______态。
某ARM指令完成的功能是“如果相等,则进行带进位的加法”,该指令是()。
仿真平台(仿真开发平台)一般指嵌入式系统开发过程中使用的【69】、仿真软件或者【70】。
下图是嵌入式系统硬件部分的逻辑组成及其与外部世界关系的示意图,其中的组成部分A是【41】;组成部分B是【42】。
设根结点的层次为0,则高度为k的二叉树的最大结点数为
随机试题
做市商制度是指()。
女,24岁,晕车剧烈呕吐,继之呕鲜血50ml,无腹痛及发热。既往体健。查体:无明显贫血征,无黄疸,血压13.8/8.0kPa(90/60mmHg),心肺无异常,腹软,肝脾未扪及,最可能的诊断是
患者,男,54岁。上腹部不适半年,黑便5天,上消化道钡剂造影发现胃窦部不规则龛影,直径6cm。黏膜皱襞中断,邻近胃壁僵硬。纤维胃镜检查为胃窦不规则隆起,有较大溃疡,周围黏膜僵硬,皱襞不规则。临床诊断为溃疡型胃癌。问题2:行常规上腹超声检查,可能发现的声
刺激骨髓红细胞前体分化又称淋巴毒素
()制订会计电算化发展规划,为企业领导提供重大硬件配置、软件使用、项目应用的决策依据。
基金份额总额不固定,而且可以在基金合同约定的时间和场所申购或者赎回的基金是()。
“教育即生活”、“学校即社会”、“从做中学”是()的重要主张。
下列不能正确反映事物之间存在联系的有()。
某学生成绩管理系统的“主窗体”如下图左侧所示,点击“退出系统”按钮会弹出下图右侧“请确认”提示框;如果继续点击“是”按钮,才会关闭主窗体退出系统,如果点击“否”按钮,则会返回“主窗体”继续执行系统。
Ifthereisnodifferenceingeneralintelligencebetweenboysandgirls,whatcanexplaingirls’poorperformanceinsciencean
最新回复
(
0
)