首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等
admin
2009-02-24
19
问题
已知数据文件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全国计算机三级
相关试题推荐
下面有关模式分解的叙述中,不正确的是
下列()不是数据结构概念所包括的。
设计数据库系统时,在需求分析中采用()、逐步分解的方法分析系统。
在数据仓库中,下面哪一种说法是关于分析型数据的
关于计算机的操作系统,下面叙述不正确的是
有程序编制如下。数组中的每个元素为一个字。假设页面大小为每页128个字,数组中的每一行元素存放在一页中。系统为该程序提供一块内存,开始时内存为空。VARA:ARRAY[1••256,1••128]OFinteger;FORj:=1TO128
下列关于异步传输模式ATM技术的叙述中,哪一条是不正确的?
两阶段封锁协议中,“两段”的含义是,事务分为两个阶段,第一阶段是获得封锁,第二阶段是【】。
下列关于计算机的论述中,其中错误的是
数据挖掘作为知识发现的过程,一般由三个主要阶段组成:数据准备、____________、结果的解释和评估。
随机试题
患者男性,25岁。风湿牲心脏病,二尖瓣狭窄。患者心电图显示心房颤动,其中有3个单发宽大畸形的QRS波群,V1导联呈rsR′型,联律问期不等,无类代偿间歇,宽大畸形的QRS波群最可能为
A、月经来潮或行经6小时内B、预测的排卵期C、月经来潮前3~7天D、月经来潮后3~7天E、月经干净后3~7天进行子宫内膜活组织检查以判断卵巢功能的时间
醛固酮的主要作用是
瓷全冠的优点不包括下列哪一项A.色泽稳定自然B.导热低C.脆性大,不耐磨损D.不导电E.生物相容性好
依《立法法》规定,下列享有行政立法权的主体有()。
根据《中华人民共和国合同法》、《中华人民共和国城市房地产管理法》及其他有关法律、法规,在双方一致同意订立的《商品房买卖合同》中第一条“项目建设依据”中包括()。依照国家和当地人民政府有关规定,开发商应将()的商品房交付买受人小叶使用。
工作A和工作B之间的逻辑关系为工艺关系,说明它们之间的先后顺序是由()决定的。
对金额有错误的原始凭证,正确的做法是()。
(2017年)甲公司是一家稳定发展的制造业企业,经营效率和财务政策过去十年保持稳定且预计未来继续保持不变,未来不打算增发或回购股票,公司现拟用股利增长模型估计普通股资本成本。下列各项中,可作为股利增长率的有()。
WithAirbus’sgiantA380airlinerabouttotaketotheskies,youmightthinkplanescouldnotgetmuchbiggerandyouwouldbe
最新回复
(
0
)