首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件in33.dat中有200个正整数,且每个正整数均在100至9999之间。函数readDat()的功能是读取这 200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存
在文件in33.dat中有200个正整数,且每个正整数均在100至9999之间。函数readDat()的功能是读取这 200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存
admin
2009-02-24
73
问题
在文件in33.dat中有200个正整数,且每个正整数均在100至9999之间。函数readDat()的功能是读取这 200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存入数组bb中,如果数组比中出现后3位相等的数,则对这些数按原始4位数据进行降序排列。最后调用函数writeDat()把结果比输出到文件out33.dat中。
例如:处理前6012 5099 9012 7025 8088
处理后9012 6012 7025 8088 5099
注意:部分源程序已给出。
请勿改动主函数main()、读函数readDat)和写函数writeDat()的内容。
试题程序:
#include
9include
#include
int aa[200],bb[10];
void readDat();
void writeDat();
void jsSort()
{
}
void main()
{
readDat();
jsSort();
writeDat();
}
void readDat ()
{
FILE *in;
int i;
in=fopen (" in33. dat", "r" );
for(i=0;i<200;i++) fscanf (in,"%d ",&aa
);
fclose (in);
}
void writeDat()
{
FILE *out;
int i;
clrscr ();
out=fopen ( "out33. dat", "w" );
for (i=0;i<10; i++)
{
printf ("i=%d, %d\n", i+l,bb
);
fprintf (out, "%d\n", bb
);
}
fclose (out);
}
选项
答案
void jsSort() { int i, j, data; for (i=O; i<199; i++) for (j=i+l; j<200; j++) { if (aa [ii %1000>aa [j ] %1000) /*按照每个数的后3位的大小进行升序排例*/ { data=aa [i]; aa[ii=aa[j]; aa [j ] =data; } elseif(aa[i]%lOOO==aa[j]%1000) /*如果后3位数值相等,则对这些数值 按原始4位数据进行降序*/ if (aa Ii] <aa [j ] ) { data=aa Iii; aa[ii=aa[j]; aa [ j ] =data; } } for (i=O; i<10; i++) /*将排好序的前十个数存入数组bb中*/ bb[i]=aa[i];
解析
本题考查的知识点如下:
(1)循环结构的嵌套。
(2)选择结构的嵌套。
(3)特殊运算符“%”的使用。
(4)数据的升降序排列。
在该题中,首先要解决的问题是如何把题中4位数转换成符合要求的3位数。这里要用到一个比较特殊的运算符%,它的功能是取余。将4位数除以1000取余则得到要求的3位数。根据题意,若后3位相等,则按照原数据进行降序排序,所以在这里要加一个选择结构进行判断。对数据进行排序,可以使用最简单的“选择排序法”。即第一次从第一个数据开始和所有后面的数据进行比较,与比它大(小)的数据交换位置,将数据中最大(小)的数交换到最前面。第二次从第二个数据开始与后面的数据进行比较,将此次比较中最 (小)的数据交换至第二个位置,直至最后一个数据。
转载请注明原文地址:https://www.kaotiyun.com/show/QRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设有属性A,B,C,D,以下表示中不是关系的是
根据某些条件对一个关系作水平分解,选择符合条件的元组组成一个新的关系,这样的操作称为
数据库管理系统是位于用户和【】系统之间的一个数据管理软件。
防止地址越界的工作是由下列哪一项完成的?
分布式数据库系统是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为【】),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。
关于计算机的操作系统,下面叙述不正确的是
从WWW的资源和行为中抽取感兴趣的、有用的模式或隐含的信息的过程,称为【】挖掘。
下列哪一种设备不是输入设备?
在存储管理中,为实现地址映射,硬件应提供两个寄存器,一个是基址寄存器,另一个是【】。
多媒体网络应用及实时通信要求网络高速率传输,并且延迟低。下列哪一项技术满足这类应用的要求?
随机试题
简述在PowerPoint中设置自动播放的步骤。
吗啡通过抑制阿片受体而产生镇痛作用。
男性,30岁,支气管哮喘14年,2小时前剧烈咳嗽后突感胸痛,进行性呼吸困难,发绀。体检时,下列哪项体征最不可能出现?
男性,60岁,反复咳嗽、咳痰20年,近7~8年出现活动后气促,1周来病情加重。咳吐脓痰。体检:心率130次/分,三尖瓣区可闻收缩期吹风样杂音;双肺肺气肿征,有干、湿性哕音;肝于肋下3cm触及。质软有压痛,肝颈静脉回流征阳性;双下肢水肿。心电图:RV1+SV
某机电安装施工单位承建某城市的一项大型图书馆机电安装工程。合同造价2400万元,其中主材料费和设备费占65%,工期为8个月。合同约定:(1)工程用主材料和设备由甲方供货,其价款在当月发生的工程款中抵扣。(2)甲方向乙方支付预付
进行组织结构设计、对企业的组织结构进行比较和评价的基础是组织结构的()。
关于导体及其导电原理,下列说法错误的是()。
一、注意事项 1.申论考试,是对分析驾驭材料的能力、解决问题能力、语言表达能力的测试。 2.作答参考时限:阅读资料40分钟,作答110分钟。 3.仔细阅读给定的资料,按照后面提出的“申论要求”依次作答。二、给定材料 ●“找到网游神,找
下列对于线性链表的描述中正确的是 ______。
A、Makeajokeaboutitandmoveon.B、Explainwhyandhowithappens.C、Keepcalm,apologizeandcontinue.D、Pretendnottonoti
最新回复
(
0
)