首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等
admin
2009-02-24
66
问题
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到out38.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( "in38.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\n",b
);
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("out38.dat", "w");
fprintf (fp, "%d\n", cnt);
for(i=0; i<cnt; i++)
fprintf(fp, "%d\n",b
);
fclose (fp);
}
选项
答案
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到out38.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( "in38.dat","r"); for (i=0; i<MAX; i++) fscanf(fp, "%d",&a[i]); fclose (fp); } void main() { int i; readDat (); jsVal (); printf ("满足条件的数=%d\n", cnt); for (i=0; i<cnt; i++) printf ("%d\n",b [i]); writeDat (); } writeDat () { FILE *fp; int i; fp=fopen ("out38.dat", "w"); fprintf (fp, "%d\n", cnt); for(i=0; i<cnt; i++) fprintf(fp, "%d\n",b [i]); fclose (fp); }
解析
本题考查的知识点如下:
(1)循环结构的嵌套使用。
(2)运算符“%”及“/”的使用。
(3)选择结构中多个条件的布尔运算。
在本题中,首先要解决的问题是如何将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”——取余和、“/”——整除。将一个4位数整除1000则可得到其千位上的数字,将其除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。千位上的数小于等于百位上的数,百位上的数小于等于十位上的数……这些条件需要同时满足,所以各条件之间要用到“与”运算。最后的排序仍用“选择排序法”。
转载请注明原文地址:https://kaotiyun.com/show/dRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
对数据库数据的删除是由数据库管理系统的()功能模块实现的。
用二维表结构表示实体及实体间的联系的数据模型简称为______数据模型。
在文件系统中,文件的逻辑结构可分为两类,它们是【】文件和记录式文件。
下列关于Oracle数据库的叙述中,哪一条是不正确的?
广域网WAN(WideAreaNetwork)也称为远程网,它覆盖的地理范围从几十公里到几千公里,其通信子网主要采用的是【】技术。
下列对进程间相互通信的描述错误的是
有程序编制如下。数组中的每个元素为一个字。假设页面大小为每页128个字,数组中的每一行元素存放在一页中。系统为该程序提供一块内存,开始时内存为空。VARA:ARRAY[1••256,1••128]OFinteger;FORj:=1TO128
设有关系SC(SNO,CNO,GRADE),主码是(SNO,CNO)。遵照实体完整性规则
在TCP/IP参考模型中,不属于应用层协议的是
在SQLServer2008中,建立索引视图的目的是为了提高数据查询的效率。下列关于索引视图的说法,错误的是()
随机试题
下列选项中使用重置成本法计算机器设备评估值的公式正确的有()。
一般来讲,土壤的质地可分为沙土、黏土和_______三大类。
患者,男,50岁,突发昏迷2h。既往有高血压病史。该病变最常发生的部位是
腺垂体功能减退症最早出现的靶腺功能减退是( )
A.少腹逐瘀汤B.生化汤C.清热调血汤D.大黄牡丹皮汤E.大柴胡汤患者产后高热,小腹剧痛,恶露有臭气,大便秘结。治疗应首选()
依照特别行政区基本法的规定,特别行政区的行政长官对以下哪些部门负责?()
“盘存单”需经盘点人员和实物保管人员共同签章方能有效。()
基金公司各机构、部门、岗位职责保持相对独立,基金资产、自有资产、其他资产的运作应当分离,这样体现的是基金管理公司内部控制的()原则。[2015年6月证券真题]
根据以下资料,回答下列问题。2011年,我国商标局共受理商标注册申请1416785件,连续十年位居世界第一。其中商标注册网上申请达804926件,占同期商标注册申请总量的56.8%。国内申请1273827件,外国来华申请量(包括马德里商标国际注册
美国拒绝执行减少二氧化氮排放量的《京都议定书》,惹来欧洲、日本、俄罗斯、中国及联合国秘书长的批评。最近几十个环保组织联手将10万封电子邮件抗议信投到了美国白宫总统电子邮件信箱里,则代表了世界公众舆论对它的谴责和抗议。则下列分析不正确的是:
最新回复
(
0
)