首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件1N68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,清编制一函数JsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调
已知数据文件1N68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,清编制一函数JsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调
admin
2010-01-09
47
问题
已知数据文件1N68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,清编制一函数JsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到 OUT68.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("IN68.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a
);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf (满足条件的数=%d\n", cnt);
for(i=0;i<cnt;i++)
printf ("%d", b Iii );
printf ("\n");
writeDat ();
}
writeDat ()
{
FILE *fp;
iht i;
fp=fopen ("out68.dar","w");
fprintf (fp,"%d\n",cnt);
for (i=0; i<cnt; i++)
fprintf {fp,"%d\n",b Iii );
fclose (fp);
}
选项
答案
void jsVal() { iht i, thou, hun, ten, data, j; for (i=0;i<200;i++) { thou=a [i] /1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ dat a=a [i] %10; /*求四位数的个位数字*/ if (thou%2 !=0 && hun%2!=0 && ten%2!=0 && data%2!=0) /*如果4位数各位上数字均是奇数*/ { b [cnt] =a [i]; /*将满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i for (j=i+l; j<cnt; j++) if (b[i] <b[j] ) { data=b[i]; b[i]=b[j]; b [j] =data; } }
解析
本题考查的知识点如下:
(1) "%"与"/"的使用。
(2) 循环结构与判断结构的使用。
(3)数据的排序。
本题中,首先借助“%”与“/”将4位数各位上的数拆成独立的数字:将1个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位卜的数字。1个数除以2取余所得的数不等于0,则此数是奇数。题中要求将符合条件的4位数按从大到小的顺序存入数组b中,我们可以先将符合条件的4位数存入数组b,然后对b中的数进行排序。排序使用“选择排序法
转载请注明原文地址:https://kaotiyun.com/show/IKYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设在SQLServer2008某数据库中有商品表和销售表,两个表的定义如下:CREATETABLE商品表(商品号char(10)PRIMARYKEY,商品名varchar(40),类别varchar(20),
数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中【10】协议可以完全保证并发事务数据的一致性。
在SQLServer2008中,某数据库用户User在此数据库中具有对于表数据的查询和更改权限。现要收回User对于T表的数据更改权,下述是实现该功能的语句,请补全该语句。【8】UPDATEONTFROMUser。
在SQLServer2008中,设有顾客表(顾客号,顾客名,所在地区,年龄),应用系统中需统计指定地区的顾客人数和平均年龄。请补全下列存储过程代码以完成该功能。CREATEPROCP_Count@areavarchar(20)ASSELE
假定我们要建立一个航空数据库,存储如下信息:每个机场有机场编号、所在城市;每个航班有航班编号、起飞时间、飞行时间;飞机有飞机编号、型号、载客人数;飞行员有飞行员编号、姓名;每个航班有唯一的起飞机场和降落机场,每个机场会有多个航班起降每架飞机可飞
在SQLServer2008中,设log1是SQLServer身份验证模式的数据库服务器登录帐户。现要授予log1具有创建数据库的权限,请补全下列语句:EXECsp_addsrvrolemember′log1′,′【9】′
在SQLServer2008中,常常会发生数据库数据过大的情况,此时则需要对表进行处理,通常可采用人工分割表的方法优化性能。下列有关分割表的说法,错误的是()。
数据仓库的数据模型一般被划分为概念模型、【14】模型和物理模型。
数据库概念设计是面向企业或组织中的数据需求的。下列有关概念模型设计的说法中,错误的是()。
云计算通过集中所有的计算资源,采用硬件【13】技术,为使用者提供强大的计算能力、存储和带宽等资源。
随机试题
LDL的生成部位为
先天性甲状腺功能减低症患儿做骨骼X线检查,对疾病诊断有辅助作用的骨发育落后部位是
误食新鲜虫卵即能引起感染的有
A.心肌收缩期泵功能障碍B.血压升高.左心室肥厚C.心室间隔非对称性肥厚D.内膜心肌纤维化E.心室舒张功能受损肥厚型心肌病
下列各项,属终末消毒的是
患者同时服用双香豆素和醋磺己脲,出现低血糖症状,经分析原因为醋磺己脲在体内蓄积,这说明()。
中国晶晶饰品公司与奥地利施诺有限公司签订买卖一批水晶饰品的买卖合同,合同约定以跟单托收方式结算。奥地利施诺公司交运货物后,开立了以中国晶晶公司为付款人的远期汇票,并随付单据,交由奥地利伦巴银行维也纳分行通过中国银行上海分行向中国晶晶饰品公司收款。关于本案,
求椭圆所围成的公共部分的面积.
调制解调器(Modem)的功能是()。
TheTenSkillsStudentsReallyNeedWhenTheyGraduateA)Thenumberofjobsavailableforgraduatesispredictedtoriseby10.2
最新回复
(
0
)