首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
58
问题
在文件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全国计算机三级
相关试题推荐
汇编语言是一种符号语言,通常用指令功能的英文词缩写代替操作码。助记符MOV表示的指令是()。
新一代数据库应用开发工具应具备的特征有Ⅰ.支持与多种数据库连接Ⅱ.支持可视化图形用户界面Ⅲ.支持面向对象的程序设计Ⅳ.支持开放性Ⅴ.提供完善的数据对象
在DBMS中建立DBMS的系统缓冲区,系统工作区,打开数据字典的工作在【】程序模块中完成。
在设备管理中,独占设备往往速度较慢,资源利用率很低,为此引入了______,即共享设备模拟独占设备。
下列关于系统软件的叙述中,哪一个是不正确的?
对于学生信息表:student(sno,sname,sex,age,dept),如果把学生"张明"的姓名改为"张岩",则正确的语句是
数据库系统的三级模式结构中,描述数据库中数据的物理结构和存储方式的是【】。
设有“供应者”关系模式:Supplier(Sname,Saddress,Item,PricE),其中各属性分别表示供应者名、供应者地址、货物名称、货物售价,一个供应者供应一种货物则对应到关系中的一个元组。在这个关系中,存在一些问题,其中不正确的说法是(
在实时操作系统中,通常采用哪种调度算法来分配处理器?以满足实时性要求。()
假定有n个关键字,它们具有相同的散列函数值,用线性探查方法把这n个关键字存入到哈希地址空间中要做【】次探查。
随机试题
(2017年真题)李老师在教育过程中,深入了解学生,针对学生不同的发展水平、兴趣、爱好和特长,引导学生扬长避短,发展个性,不断促进学生的自由发展。李老师的这种做法适应了人身心发展的哪一特点?()
火箭筒对于()相当于()对于三节棍
集约化经营
下述哪项表述是错误的
面部危险三角区感染化脓时,忌用热敷的原因是
下列各项业务应按“服务业——广告业”征税的有( )。
甲公司2013年度会计处理与税务处理存在差异的交易或事项如下:(1)持有的交易性金融资产公允价值下降100万元。根据税法规定,交易性金融资产持有期间公允价值的变动金额不计入当期应纳税所得额;(2)计提与产品质量相关的预计负债600万元。
李某系小学五年级的学生,在学校组织的考试中提前交卷离开考场,擅自离校,与其他同学相约到离学校一公里处的池塘游泳,因体力不支溺水身亡。根据《学生伤害事故处理办法》,认定学校()。
比较浏览器服务器体系结构和客户机/服务器体系结构,______存在着明显的优势。
ParkingProblem;Forbiddenin【D1】______percentofstreetsReason:Buildingapartmentsand【D2】______ismoreprofitable,hencefew
最新回复
(
0
)