首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
72
问题
在文件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全国计算机三级
相关试题推荐
下列属于SQL语言特点的是Ⅰ.数据查询Ⅱ.数据操纵Ⅲ.数据定义Ⅳ.数据控制
下面列出的条目中,哪一条是数据仓库的基本特征?Ⅰ.数据仓库是面向主题的Ⅱ.数据仓库的数据是集成的Ⅲ.数据仓库的数据是相对稳定的Ⅳ.数据仓库的数据是反映历史变化的
A、 B、 C、 D、 BPowerDesigner中ProcessAnalyst用于数据分析和数据发现,使用户能够描述复杂的处理模型以反映他们的数据库模型,产生数据字典,绘制数据流程图等。
Oracle产品中CASE工具的名称是______。
设有如下关系:学生(学号,姓名,性别,年龄,班号)其关键字是学号,将学号为10的学生姓名改为“王华”的SQL语句是【】。
在数据库逻辑设计中,当把E-R图转换为关系模式时,下面的做法哪一个是不正确的?
设有关系模式R(A,B,C,D,E,F),根据语义有如下函数依赖集:F={A→B,(C,D)→A,(B,C)→D,(C,E)→D,(A,E)→F)。则关系模式R的候选码是()。
UNIFACE应用开发分成三个步骤,其中对业务规则和处理流程进一步分析、明确、细化的过程是______。
下面关于数据存储方式的叙述中,不止确的是
在数据库技术中,实体—联系模型是一种
随机试题
A、B为两事件,0<P(A)<1且AB,则P(B|A)=___________。
心动周期中,房室瓣关闭见于
支气管扩张的X线表现是
男,29岁。口腔反复溃烂半年,检查见左颊黏膜有5个直径2~4mm小溃疡,圆形,周界清晰,散在。溃疡中央凹陷,基底不硬,周围有充血的红晕带,上覆浅黄色假膜。患者进食疼痛。该患者可能患有的疾病是
患者,女性,31岁。近3个月经常排便后滴少量鲜血。肛门指检无异常发现,肛门镜检查截石位见3、6点各有一突于钢管内的暗红色圆形软结节,考虑该患者为
王某向县公安局报案,说自己出差时家中的彩电、电冰箱被盗,并举出一系列事实现象推断是邻居刘某所为,县公安局予以立案。在侦查中,县公安局对刘某拘留,然后提请县检察院批准逮捕。县检察院予以批准。县检察院批准逮捕后提起公诉。县法院审理后判处刘某有期徒刑1年,责令刘
背景资料某新建高层住宅工程,建筑面积16000m2。地下一层,地上十二层,二层以下为现浇钢筋混凝土结构,二层以上为装配式混凝土结构,预制墙板钢筋采用套筒灌浆连接施工工艺。施工总承包合同签订后,施工单位项目经理遵循项目质量管理程序,按照质量管理PDCA循
为进一步保障城乡居民基本生活,根据《杭州市人民政府关于印发杭州市城乡居民最低生活保障实施办法的通知》文件精神,上城区、下城区、江干区、拱墅区、西湖区、滨江区、萧山区、余杭区、杭州经济开发区、杭州西湖风景名胜区、杭州大江东产业集聚区城乡居民最低生活保障标准由
某音像公司制作的正版音乐光盘每张售价50元,盈利15元。而在市场上发现的盗版制品每张仅售20元。因此盗版光盘如果销售10万张,就会给该音像公司造成150万元的损失。为使上述论证成立,必须假设的前提是:
WhatmadeAmericansveryproudinthepastwas______.WhichofthefollowingmadetheAmericansneglectthecurrentimmigratio
最新回复
(
0
)