首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件in33.dat中有200个正整数,且每个正整数均在1000至9999之间。函数readDat()的功能是读取这200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存
在文件in33.dat中有200个正整数,且每个正整数均在1000至9999之间。函数readDat()的功能是读取这200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存
admin
2009-02-19
41
问题
在文件in33.dat中有200个正整数,且每个正整数均在1000至9999之间。函数readDat()的功能是读取这200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存入数组bb中,如果数组bb中出现后3位相等的数,则对这些数按原始 4位数据进行降序排列,最后调用函数writeDat()把结果bb输出到文件out33.dat中。
例如:处理前6012 5099 9012 7025 8088
处理后9012 6012 7025 8088 5099
注意:部分源程序已给出。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
# include<stdio. h>
# include<string. h>
#include<conio. h>
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 .dar" , "w" );
for (i=0; i<10; i++)
{
printf ("i=%d, %d\n", i+1, bb
;
fprintf (out, "%d\n" ,bb
);
}
fclose (out);
}
选项
答案
void jsSort() { int i,j,data; for(i=0;i<199;i++) for(j=i+1;j<200;j++) { if(aa[i]%1000>aa[j]%1000) /*按照每个数的后3位的大小进行升序排列*/ { data=aa[i]; aa[i]=aa[j]; aa[j]=data; } else if(aa[i]%1000==aa[j]%1000) /*如果后3位数值相等,则对这些数 值按原始4位数据进行降序排列*/ if(aa[i]<aa[j]) { data=aa[i]; aa[i]=aa[j]; aa[j]=data; } } for(i=0;i<10;i++) /*将排好序的前十个数存入数组bb中*/ bb[i]=aa[i]; }
解析
本题考查的知识点如下:
(1)循环结构的嵌套。
(2)选择结构的嵌套。
(3)特殊运算符“%”的使用。
(4)数据的升降序排列。
在该题中,首先要解决的问题是如何把题中4位数转换成符合要求的3位数。这里要用到一个比较特殊的运算符%,它的功能是取余。将4位数赊以1000取余则得到要求的3位数。根据题意,若后3位相等,则按照原数据进行降序排序,所以在这里要加一个选择结构进行判断。对数据进行排序,可以使用最简单的“选择排序法”。即第一次从第一个数据开始和所有后面的数据进行比较,与比它大(小)的数据交换位置,将数据中最大(小)的数交换到最前面。第二次从第二个数据开始与后面的数据进行比较,,将此次比较中最(小)的数据交换至第二个位置,直至最后一个数据。
转载请注明原文地址:https://kaotiyun.com/show/MpcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下面一段程序要实现的功能是:在内存中从地址SOURCE开始有一个长度为50的字符串,测试该字符串中是否存在数字,如有则将DL的第三位置1,否则将该位置0。 BEGIN: MOV CX,50 MOV S
假设(AL)=0FFH,依次执行ADD AL,12和AND AL,0FH指令后,标志位ZF和 SF的状态分别为( )。
下面是关于CPU与主存储器之间的cache的叙述,其中正确的是:( )。
计算机技术与通信技术的结合是时代的热点,为此Windows98提供了多种不同的( )位通信服务。
8086/8088与外设进行数据交换时,经常会在( )状态后进入等待周期。
若被连接的程序模块有相同的数据段定义,则这两个程序的数据段应选用下列( )类型才比较合理?
以下ARM公司Codex处理器最适合实时应用的是()。
下面是关于AMBA总线的叙述:Ⅰ.按照AMBA规范,以ARM内核为基础的嵌入式处理芯片采用系统总线与外围总线的层次结构构建片上系统Ⅱ.AMBA的系统总线主要用于连接高带宽快速组件Ⅲ.AMBA的外围总线主要连接低带宽组件以及与外部相连的硬件组件Ⅳ.系
下面关于三星公司基于ARM9内核的S3C2410嵌入式微处理器芯片的叙述中,错误的是()。
嵌入式系统的开发过程按顺序可以分成【77】分析与规格说明、系统设计、【78】设计、系统集成与测试等4个阶段,测试的目的是验证模块/系统的功能和性能,以及发现错误。
随机试题
导致饮片变质的环境因素有
患者男性,42岁,体检时B超发现肝内多发实质占位性病变,无寒战、高热等症状,否认乙肝、肝硬化及血吸虫病史。查体:肝肋下未扪及,Hb105g/L,WBC5.3×109/L,血AFP6.1μg/L,CEA2.5μg/L,SCC-Ag121.5μg/L。
患者,女,28岁。产后1周突然出现左小腿肿胀,疼痛,皮温增高,浅静脉怒张。足背弯曲时腓肠肌疼痛明显.舌暗淡苔黄腻,脉弦滑。其治法除活血化瘀外,还应
修复体宜采用的抛光材料为粘接修复体常用的水门汀为
刘某、安某、吴某创办的“天外天”酒店是( )。本借款首先应当由( )偿还。
边坡植物防护采用土工网格、土工网垫喷播植草防护时,铺设网格、网垫应与坡面密贴,上、下边埋入土中不宜小于()。
在账务系统的凭证处理中,三个最关键的环节是( )。
下列关于投机交易的说法,正确的有( )。
甲公司为增值税一般纳税人,2018年3月2日从境外购人一批原材料,以银行存款支付进口增值税29万元,当月已向海关申请稽核比对,则关于支付进口增值税的会计处理正确的是()。
R1、R2是一个自治系统中采用RIP路由协议的两个相邻路由器,R1的路由表如下图(A)所示,当R1收到R2发送的如下图(B)的[V,D]报文后,R1更新的四个路由表项中距离值从上到下依次为0、4、4、3那么,①②③可能的取值依次为()。
最新回复
(
0
)