首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等
admin
2009-02-19
53
问题
已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件韵4位数输出到out38.dat文件中。
注意:部分源程序已给出。
程序中已定义数组;a[200],b[200],已定义变量:ent。
请勿改动主函数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 ( );
j sVal ( );
printf ( "满足条件的数=%d\n", cnt );
for (i=0; i<cnt; i++)
printf("%d\n",b
);
writeDat ( );
}
writeDat ( )
{
FILE *fp;
int i;
fp= fopen ( "out 3 8. dar" , "w" );
fprintf (fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprint f (fp, "%d\n" ,b
);
fclose (fp);
}
选项
答案
void jsVal() { int i,j; int a1,a2,a3,a4,k; for(i=0;i<MAX;i++) { a1=a[i]/1000; /*求四位数的千位数字*/ a2=a[i]%1000/100; /*求四位数的百位数字*/ a3=a[i]%100/10; /*求四位数的十位数字*/ a4=a[i]%10; /*求四位数的个位数字*/ if ((a1<=a2) && (a2<=a3) && (a3<=a4)&& (a(i)%2==0)) /*如果该数的千位数小于等于百位数,百位数小于等于十位数,十位数小于等于个位数, 并且此4位数是偶数*/ { b[cnt]=a[i]; /*则将该数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for(i=0;i<cnt-1;i++) /*把数组b中的4位数按从小到大的顺序排列*/ for(j=i+1;i<cnt;j++) if(b[i]>b[j]) {k=b[i]; b[i]=b[j]; b[j]=k; } }
解析
本题考查的知识点如下:
(1)循环结构的嵌套使用。
(2)运算符“%”及“/”的使用。
(3)选择结构中多个条件的布尔运算。
在本题中,首先要解决的问题是如何将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”——取余和“/”——整除。将一个4位数整除1000则可得到其个位上的数字,将其除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。千位上的数小于等于百位上的数,百位上的数小于等于十位上的数……这些条件需要同时满足,所以各条件之间要用到“与”运算。最后的排序仍用“选择排序法”。
转载请注明原文地址:https://www.kaotiyun.com/show/ozSZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
交换寄存器SI、DI的内容,正确的程序段是( )。
按照嵌入式系统的技术复杂程度进行分类,可以把嵌入式系统分为低端系统、中端系统和高端系统三大类。下面关于高端嵌入式系统特性的叙述中错误的是()。
车载行车记录仪用于在汽车行驶过程中记录汽车行驶周围环境的视频图像。其基本功能要求有:a、需要一个视频摄像模块,用于采集汽车行驶中周围环境的视频图像,图像分辨率为320×240。b、需要“回放”、“下载”、“删除”3个命令按键。
利用下图LED数码管接口显示字符“A”的汇编语言程序片段如下,请填空将语句补充完整。MOVR0,#【65】;“A”的共阳编码,用16进制表示LDRR1,=0x10000000;指向nGCS2段中的任何一个地址STRBR0,【66】;写入外部锁存
苹果公司的嵌入式移动电子产品风靡全球,iOS操作系统也随之为大众所熟悉。根据iOS的发展历史,它的前身是()。
下列产品中不属于嵌入式系统的是()。
某机械设备的控制器,其基本功能要求有:需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。具备一个RS一232接口,可以和上位机连接,接收上位机发送的命令及参数。需要提供一个基准定时信号,定时时间间隔为0.01秒。
若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,那么要生成该程序代码的调试信息,编译时使用的CCC命令正确的是()。
采用ADS1.2集成开发工具软件来开发基于ARM微处理器的嵌入式系统时,ADS1.2把目标文件中的信息按照三种存储区域类型来进行划分,即划分为RO段、【77】、ZI段。其中RO段是指【78】和常数的存储区域,具有只读属性。
对象—关系数据系统具有的基本特征有______。Ⅰ.SQL环境中对基本数据类型扩充的支持Ⅱ.SQL环境中对复杂对象的支持Ⅲ.SQL环境中对继承性的支持Ⅳ.对规则系统的支持
随机试题
婴儿肠管的总长度约为
咽喉溃烂处上覆白腐,形如白膜者,称为
下列地面面层单价何者最贵?[2000年第14题][2001年第14题][2009年第13题]
配电装置室通往防爆间隔的通道最小净宽应不小于()mm。
会计从业资格是进入会计职业、从事会计工作的一种( )。
假设A公司专业生产奶粉,根据市场细分,其产品有成年人奶粉、儿童奶粉、孕妇奶粉,各有特点。这时有市场挑战者B公司,抓住儿童奶粉这一已被细分出来的市场,再加以特别细分,集中资源设计开发出儿童奶粉中的0~1岁专用奶粉,1~2岁奶粉,3岁以上的奶粉,以更好满足消费
从蒲公英的轻轻飘飞受到启发发明出降落伞,这是()。
由于人为活动的破坏和自然制约,黑土地多年得不到回补,水土流失日益严重。目前还没有找到合适的回血循环方法,黑土地的将来很值得人们持续关注,改变农业长久以来形成的劳作习惯并非一日可成,况且主要的是要改变农业的生产模式,这需要生产力的提高,显然不可能一蹴而就。
Regardlessoftheirpoliticalaffiliation,inallcountrieswomenmustovercomeahostofstumblingblocksthatlimittheirpoli
TheNewEconomicsofMarriageVocabularyandExpressionscenterv.bankaccountcoverv.Sincefamilylifeisregarded
最新回复
(
0
)