首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件1N69.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把一个4位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于等于零且此4位数是奇数
已知数据文件1N69.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把一个4位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于等于零且此4位数是奇数
admin
2010-01-09
54
问题
已知数据文件1N69.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把一个4位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于等于零且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把结果cnt及数组b中的符合条件的4位数输出到out69.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 ("IN69. 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. printf ("%d", b
);
printf ("\n");
wrfteDat ();
}
writeDat ()
{
FILE *fp;
iht i;
fp=fopen ("out69.dat", "w");
fprint f (fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprint f (fp, "%d\n", b
);
fclose (fp);
}
选项
答案
void jsVal() { iht i, thou, hun, ten, data, j; for (i=0; i<MAX;i++) thou=a [i]/1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ if((thou-hun-ten-data>=0) && a[i]%2==1) /*如果千位数减百位数再减十位数最后减个位数得出的值大于零且此4位数是奇数*/ { b [cnt] =a [i]; /*则将该数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i for (j=i+1; j<cnt; j++) if (b[i]>b[j]) { data=b Iii; b[i]=b[j]; b [j] =data; } }
解析
本题考查的知识点如下:
(1) “%”与“/”的使用。
(2)循环结构与判断结构的使用。
(3)数据的排序。
本题中,首先借助“%”与“/”将4位数各位上的数拆成独立的数字:将1个4位数整除1000则可得到其干位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。1个数除以2取余所得的数等于1,则此数是奇数。利用循环结构实现对 200个数据的判断。题中要求将符合条件的4位数按从小到大的顺序存入数组b中,我们可以先将符合条件的 4位数存入数组b然后对b中的数进行排序。排序使用“选择排序法”。
转载请注明原文地址:https://www.kaotiyun.com/show/iOYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C为课程,P为老师,S为学生,G为成绩,T为时间,R为教室,根据定义有如下的函数依赖集:F={C→G,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R}W的规范
在SQLServer2008中,设U1是SQLServer身份验证模式的数据库服务器登录账户,现希望U1在该数据库服务器上具有系统管理员权限。请补全下列语句:EXECsp_addsrvrolemember’U1’,’【9】’
数据库管理系统为三级模式结构提供了两层映像机制,其中模式/内模式映像提供了【1】独立性。
数据库应用系统投入运行后,应用系统进入运行管理与维护阶段。设某学生管理系统在运行管理与维护阶段有如下工作:Ⅰ.定期检查数据文件的存储空间占用情况,并根据需要分配存储空间Ⅱ.分斫数据库中各种操作,以发现潜在性能问题Ⅲ.将数据库中历史数据转储到离线存储介
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:画出ER图。
下列有关数据备份(转储)工作的说法,错误的是()。
数据库管理系统为提高数据查询效率,可能会采用如下索引技术:Ⅰ.有序索引Ⅱ.聚集索引Ⅲ.树型索引Ⅳ.散列(哈希)索引其中,将属性值作为参数,不采用索引键值比较,而是采用一定的计算方法定位数据的有()。
为了保证正确地调度事务的并发操作,事务对数据库对象加锁、解锁需遵守加锁协议。加锁协议中两阶段加锁协议可以保证事务调度【5】性。
不同的数据库管理系统采用的日志文件格式不完全一样,概括起来主要有以记录为单位的日志文件和以【13】为单位的日志文件两种。
传输延迟是设计卫星数据通信系统时需要注意的一个重要参数。两个地面节点通过卫星转发信号的传输延迟典型值一般取为 【】ms。
随机试题
有以下程序:#include#include#includemain(){char*p1,*p2;p1=p2=(char*)malloc(sizeof(char)*10);strcpy(
A、horribleB、horseC、sortD、northernA
女性病人,50岁。胃大部切除术后2周,病人进食后约15分钟出现上腹饱胀,恶心、呕吐、头晕、心悸、出汗、腹泻等。应考虑并发了
一般临床背部取穴,肩胛冈横平
与人畜共患病有关的病原体不包括
糖皮质激素治疗哮喘的主要机制是
地高辛的中毒血清浓度为()
既能用于新的陆上网络,又可对现有系统进行升级改造,特别适用于DWDM系统传输的是()光纤。
关于外墙外保温质量控制的说法,正确的有()。
甲公司有A产品1000件,单位成本为1元,甲公司与乙公司签订了产品销售合同,约定由甲公司销售A产品500件给乙公司,合同单价为1.2元,A市场销售价格为每件0.90元,预计每件A产品销售税费为0.1元,则A产品应提取的跌价准备为()元。
最新回复
(
0
)