首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN72.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4
已知数据文件IN72.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4
admin
2010-01-09
40
问题
已知数据文件IN72.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个数均为偶数且两个十位数中至少有一个数能被9整除,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并计算满足上述条件的4位数的个数cnt,最后调用.写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT72.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200], b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函writeDat()的内容。
试题程序:
#include<stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt=0;
void jsval()
{
{
Void readDat( )
{
int i;
FILE *fp;
fp=fopen("IN72. DAT", "r");
for(i=0; i<NAX; i++)
fscanf(fp, "%d", &a
];
fclose(fp);
}
main()
{
int i;
readDat();
jsVal()
for(i=0; i<cnt; i++)
printf("%d\n", b
);
prIntf("\n");
wrlteDat();
}
wrlteDat()
{
FILE *fp;
int i;
fp=fopen("OUT72.DAT", "w");
fprlrltf(fp, "%d\n", cnt);
for(i=0;i<Cht; i++
fprIntf(fp, "%d\n",h
);
fclose(fp);
}
选项
答案
void jsVal( ) { iht i, thou, hun, ten, data, j; iht ab, cd; for (i=0;i<200;i++) { thou=a [i]/1000; /*求四位数的千位数字*/ hun=a [i]%1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ ab=data*10+thou; /*把个位数的千位数重新组合成一个新的十位数ab*/ cd=hun*10+ten; /*把百位数和十位数组成另一个新的十位数cd*/ if ( (ab%9==0| | cd%9==0) && (ab%2 !=1) && (cd%2 !=1) &&ab!=0&&cd!=0) { /*如果新组成的两个数均为偶数且两个十位数中至少有一个 数能被9整除,同时两个新十位数字均不为零*/ b [cut]=a [i]; /*将满足条件的4位数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i<cnt-1; i++) /*将数组b中的数按从大到小的顺序排列*/ for (j=i+1; j<cnt; j++) if (b [i] <b [j]) { data=b [i] b[i]=b[j]; b [j] =data; } }
解析
本题考查的知识点如下:
(1)将一们位整数各位上的数转变成单独的个位数。
(2)判断结构中多个条件的布尔运算。
(3)循环的使用。
(4)数据的排序。
在本题中,首先要将1个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%” (取余)和“/” (整除)。将1个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位卜的数字。若1个数除以2取余为0,则这个数是偶数。两个数中至少有1个能被9整除,ab能被9整除与cd能被9整除两个条件满足1个即可,所以这两个条件之间用“或”运算。但这个条件与其他条件必须同时满足,所以此条件与其他条件之间用“与”运算。最后的排序采用“选择排序法”。
转载请注明原文地址:https://kaotiyun.com/show/KOYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
数据库管理系统为用户和应用程序提供了【1】语言,用此语言可以定义数据库的模式结构,但此语言执行后的结果不能回滚。
设有课程表(课程号,课程名,开课学期)和选课表(学号,课程号,成绩),现要利用开窗函数查询每门课程的课程名、开课学期及选该门课的学生人数(不包括没人选的课程)。请补全下列语句:SELECTDISTINCT课程名,开课学期,COUNT(*)OVE
设有高校选课系统,需要对学校的系信息、教师信息、课程信息、学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号(DeptNO)、系名称(DeptName);教师(Teaeher)信息包括教师号(TNO)、教师名(Tname);课程(Course
设有某商业单位需要建立商务数据库用以处理销售记账,它记录的数据包括:顾客姓名,所在单位及电话号码;商品名称,型号,产地及单价;某顾客购买某商品的数量及日期。假定无同名顾客,无同型号商品,电话公用,顾客可在不同日期买同一商品。将ER模型换成关系模型并规范
数据库应用系统投入运行后,应用系统进入运行管理与维护阶段。设某学生管理系统在运行管理与维护阶段有如下工作:Ⅰ.定期检查数据文件的存储空间占用情况,并根据需要分配存储空间Ⅱ.分斫数据库中各种操作,以发现潜在性能问题Ⅲ.将数据库中历史数据转储到离线存储介
设在SQLServer2008某数据库中,要设置不允许用户U1获得对表T数据的删除权限,请补全实现该授权操作的SQL语句:【9】ONTTOU1;
触发器是一种特殊的存储过程,它是由用户对数据的更改操作自动引发执行的。下列数据库控制中,适于用触发器实现的是()。
下列是关于关系数据模型和关系表的说法:Ⅰ.关系数据模型以集合论为基础表示和处理数据Ⅱ.关系数据模型同时支持非过程化语言和过程化语言直接存取数据Ⅲ."createtable..."语句用于定义关系表的结构及数据完整性约束Ⅳ.在关系表上执行sel
在SQLServer2008中,通过在视图上创建唯一【8】索引的方式可使视图的结果集保存到数据库中。
关系模型是数据库系统最常用的一种数据模型。下列关于关系模型的说法,错误的是()。
随机试题
某产妇,28岁,孕G1P0,孕39周,因巨大胎儿行剖宫产术娩一活男婴,体重4150g,现术后3天,官缩好,阴道出血不多,产妇主动参与护理新生儿并希望了解新生儿护理知识,护士给予相应宣教。母乳喂养的好处,不包括
A.为病人保密B.文明礼貌服务C.互学互尊,团结协作D.钻研技术,精益求精E.救死扶伤,实行社会主义的人道主义不断更新知识,提高技术水平是《医务人员医德规范及实施办法》内容要求的
A.救死扶伤,不辱使命B.尊重患者,平等相待C.依法执业,质量第一D.进德修业,珍视声誉E.尊重同仁,密切协作根据《中国执业药师职业道德准则适用指导》执业药师尽心、尽职、尽责为患者及公众提供药品和药学服务,体现了
[2013年,第94题]晶体三极管放大电路如图7.5-18所示,在并入电容Ce之后()。
下列各项属于制作排列图的步骤的有()。
安徽地形地貌由华北平原、江淮丘陵、皖南山区组成,境内湖泊星罗棋布,是典型的山水江南、鱼米之乡。()
如果你被录用了,但你并不喜欢你要从事的工作,你会怎么办?
建筑一队和建筑二队共同进行管道改造工程,如果一队先工作6小时,二队接着工作12小时可以完成。如果一队先工作8小时,二队接着工作6小时也可以完成。如果一队工作3小时后由二队接手,还需要多少小时?()
※◎§&§&※◎
ListAcomposesofnconsecutivepositiveintegers.QuantityA:TheaverageoflistAQuantityB:ThemedianoflistA
最新回复
(
0
)