首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
86
问题
在文件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://www.kaotiyun.com/show/MpcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
在下列有关WindowsXP存储管理功能的叙述中,错误的是______。A)系统采用了虚拟存储技术,可以将硬盘的一部分空间作为虚拟内存使用B)页面文件(pagefile.sys)的大小一般大于系统RAM的大小C)页面文件的位置可以不在系统盘中
Windows98提供的电子邮件服务程序Outlook Express能支持多种电子邮件协议,包括SMTP(简单邮件传输协议)和【 】(邮局协议3)等。
计算机的主存储器用来存储数据和指令,为了实现按地址访问,每个存储单元必须有一个唯一的地址。PC机主存储器的编址单位是【 】。
下列对于网络哪一种叙述是正确的?______
下面是有关超文本的叙述,其中错误的是
Windows98是一个( )操作系统。
在ARM汇编语言中,小端模式下,通过伪指令MyDataDCD0x01234567在内存中定义了1个32位操作数,已知R0=0x56000012,则依次执行:LDRR1,=MyDataLDRHR0,[R1,#2]两条指令后,R0的值
在采用ADS1.2集成开发工具软件开发基于ARM微处理器的嵌入式系统软件时,下面有关地址映射的说明中,不正确的是()。
ARM状态下指令代码长度的位数为【49】位、Thumb状态下指令代码长度的位数为【50】位。
一幅1024×768的彩色图像,每个像素使用16位表示,采用压缩比为5倍的算法压缩图像数据之后,其数据量大约是()MB。
随机试题
患者,男,45岁。上呼吸道感染2周后出现皮肤瘀点,血小板检查为30×109/L,骨髓象示骨髓巨核细胞数量轻度增加,巨核细胞发育成熟障碍。现斑色暗淡,多散在出现,时起时消,过劳则加重,心悸,气短,头晕目眩,食欲缺乏,面色苍白,舌质淡,苔白,脉弱。应首先考虑的
骨髓增生异常综合征患者的骨髓原始细胞中有Atler小体,见于
某建筑公司向某钢厂发出一个要约表明了想要购买钢材,钢厂发出的承诺由于快递公司的失误,该承诺到达建筑公司时已超过了承诺期限,则下列说法正确的是()。
美国学者拜伦和克霄昔斯根据员工工作的成果分布决定因素,将工作划分为()。
阿特金森的研究表明,力求成功者倾向于选择非常容易或非常困难的任务。
什么是“大国关系”?在传统的国际关系认识中,大国关系的基本目标是“争霸”——争夺___________区域事务乃至世界事务的___________。填入划横线部分最恰当的一项是:
由于狂风暴雨,李某家门口的电线杆松动,倒在了李某家的房屋上。李某立即向电力局打电话要求排除险情,电力局答应派人过去维修,但李某等到第二天仍无人过来,李某再次打电话催促电力局,电力局始终不对何时派人过去维修进行明确答复,故李某立即向法院起诉电力局不履行法定职
资本主义萌芽于14世纪末15世纪初,其途径包括()
0.1
【S1】【S4】
最新回复
(
0
)