首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少
admin
2010-06-17
54
问题
已知在文件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://www.kaotiyun.com/show/EBvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
开发嵌入式系统时,需要构建一个宿主机一目标机的开发环境。若目标机是裸机,那么为了调试和下载软件需要将调试仿真器连接到目标机的哪一种接口?()。
下面有关微内核操作系统的叙述中,错误的是()。
若某嵌入式系统的应用程序基于μC/OS—II操作系统平台来开发,那么,应用程序的main()函数中,需要用函数【79】来创建任务。创建任务前用函数【80】来初始化μC/OS—II。
下面是关于基于ARM内核的嵌入式芯片中的存储器及高带宽外部存储器控制接口的叙述,其中错误的是()。
以下关于嵌入式处理器的说法正确的是()。
以下关于ARM处理器CPSR寄存器说法错误的是()。
嵌入式系统与通用计算机系统软件的相同之处,指的是嵌入式系统通常也具备【67】加载程序,外设【68】程序,操作系统,文件系统,网络协议栈,图形用户界面,数据库,以及各种各样的应用程序等,这些软件都是通用计算机所拥有的。
如果条件为负数,将R1指向的内存单元中8位数据加载到R0寄存器中,正确的ARM指令为()。
数字图像的文件格式有多种,不同的文件格式采用不同的编码方法,具有不同的特点,适合不同的应用。其中,GIF图像文件格式颜色数目仅__________【43】种,文件特别小,适合互联网传输。__________【44】图像文件格式是静止图像数据压缩编码的国际标
至(54)题基于以下的叙述:有关系模式A(C,T,H,R,S),其中各属性的含义是:C:课程T:教员H:上课时间R:教室S:学生根据语义有如下函数依赖集:F={C→T,(H,R)→C(H,T)→R,(H,S)→R}(52)关系模式A的
随机试题
阅读《西湖七月半》中的一段文字,回答问题:其一。楼船箫鼓,峨冠盛筵,灯火优傒,声光相乱,名为看月而实不见月者,看之。这类人的“看月”心态是怎样的?
A.浆液性囊腺瘤B.子宫内膜样癌C.卵泡膜细胞瘤D.移行细胞癌E.无性细胞瘤属于卵巢性索间质肿瘤的是
企业法律顾问参与企业重大经营决策主要是保证决策的()。
简述过错责任原则与无过错责任原则的含义及区别。[武汉理工2008年研]
职业病危害项目申报程序中要求卫生行政部门应当在收到申报材料后()个工作日之内,出具《职业病危害项目申报回执》。
Thereisapopularbeliefamongparentsthatschoolsarenolongerinterestedinspelling.NoschoolIhavetaughtinhaseverig
Igottotheofficeearlierthatday,______the7:30trainfromPaddington.
材料120世纪60年代以来,受当时经济条件所限,B市建设了大量多层无电梯住宅楼,因配套设施不全,给老、弱、病、残、孕等人士出行带来困难。随着经济社会发展和人口老龄化加剧,B市市委、市政府高度关注民生需求,多年来持续推进老楼加装电梯工作,经历了探索
企业经营是为了获得利润,人生经营是为了让自己增值。可是,价值的大小并不由你说了算,它的_______掌握在别人的手上,而别人永远不会_______赋予你理想的价值,你必须先去做一块招牌,放大自己的价值,_______他们去看。填入画横线部分最恰当的一项是(
设计一个表单名和文件名均为form_item的表单,其中,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题设为“使用零件情况统计”。表单中有一个组合框(Combo1)、一个文本框(Text1)、两个命令按钮“统计”(Com-mand1)和“退出”
最新回复
(
0
)