首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
31
问题
在文件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://kaotiyun.com/show/QRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下列排序方法中,哪一种方法总的关键码比较次数与记录的初始排列状态无关?()A)直接选择排序B)直接插入排序C)起泡排序D)快速排序
根据某些条件对一个关系作水平分解,选择符合条件的元组组成一个新的关系,这样的操作称为
在排序过程中,比较次数与序列的初始位置无关的排序方法是
用二维表结构表示实体及实体间的联系的数据模型简称为______数据模型。
数据库管理系统是位于用户和【】系统之间的一个数据管理软件。
关系中的某个属性不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性为
线性表L=(a1,a2,…,an)用数组表示,假定删除表中任何一元素的概率相同,则删除一个元素平均需要移动元素的个数为【】。
文件系统的功能有Ⅰ.统一管理文件存储空间Ⅱ.确定文件信息存放位置及存放形式Ⅲ.实现文件信息的共享Ⅳ.实现文件从名字空间到外存地址的映射
设计性能较优的关系模式称为规范化,规范化的主要理论依据是()。
在UML模型中,用于表达一系列的对象、对象之间的联系以及对象间发送和接收消息的图是【15】。
随机试题
女性,30岁,四肢、皮肤反复瘀斑一年余,查:肝脾未及,血红蛋白110g/L,白细胞总数5×109/L,血小板60×109/L,骨髓:粒、红系统基本正常,巨核细胞增多,最可能的诊断是
A.4~5天B.6~7天C.7~9天D.10~12天E.≥14天
气单胞菌属特性是
触诊肠管或索条状包块最适用()
甲将其对乙享有的10万元货款债权转让给丙,丙再转让给丁,乙均不知情。乙将债务转让给戊,得到了甲的同意。丁要求乙履行债务,乙以其不知情为由抗辩。下列哪一表述是正确的?(2012年卷三第13题)
估价法主要有市场法、收益法、成本法等几种。而具体选用哪些估价方法进行测算,主要是由下面哪些方面综合决定的()。
债权人按照合同约定占有债务人的动产,债务人不按合同确定的期限履行债务的,债权人有权依法以该财产折价或以拍卖、变卖该财产的价格优先受偿,这属于( )。
所谓硬件就是指组成计算机的各种物理装置,它是计算机工作的物质基础。()
企业购入不需要安装的生产设备,购买价款超过正常信用条件延期支付,实质具有融资性质的,应当以购买价款的现值为基础确定其成本。()
滨海县人民政府文件滨发(97)02号关于做好春耕生产的通报各乡镇党委、人民政府、县政府各部门:为了切实做好今年的春耕生产,现将有关事项通知如下:滨海县人民政府1997.2.26(盖章)主题词:春耕生产通报抄送:…………滨海县人民政府1
最新回复
(
0
)