首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
38
问题
在文件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全国计算机三级
相关试题推荐
Pemimn微处理器复位后,首先进入下面的______工作模式。
IEEE802.11是无线局域网采用的通信协议标准,其中IEEE802.11g是目前比较广泛采用的一种,它的数据传输速率最高可以达到______Mb/s。
从集线器具有的功能及可提供的服务,大体可以分为智能集线器和______两类。
设X为变量,指令MOV AX, OFFSETX的寻址方式是( )。
下面关于8259A可编程中断控制器的叙述中,正确的是
计算机使用总线结构的主要优点是便于实现“积木化”,缺点是( )。
计算机使用的软件可粗略地分为系统软件和应用软件,下列哪个属于应用软件?
μC/OS—Ⅱ中调用中断退出函数OSIntExit()标志着中断服务子程序的【75】,OSIntExit()将中断嵌套层数计数器的值【76】。
下面哪一种接口不是无线通信接口?()。
数据库管理系统、图形用户界面、互联网浏览器、媒体播放器等软件,如果运行在嵌入式系统上,往往具有内部结构精简,【69】轻量化,占用存储资源【70】的特点。
随机试题
关于连续X线的解释,正确的是
男孩,6岁。因发热2周,头痛伴呕吐3天,惊厥1次入院,疑诊结核性脑膜炎。确诊该病的主要依据是()
若评估二手汽车交易市场房地产的作价出资价格,下列说法中正确的是()。如果采用收益法估价,经调查,在估价时点该二手汽车交易市场房地产的客观年净收益为300万元,且未来每年不变,报酬率为7.5%,则收益价格为()万元。
【2016年真题】下列工作中,属于工程招投标阶段造价管理内容的是()。
下列选项中,属于Excel中的算术运算符有()。
以运动能力的标准进行分层教学的分组方式是()。
韩愈,字退之,昌黎人。父仲卿,无名位。愈生三岁而孤,养于从父兄。愈自以孤子,幼刻苦学儒,不俟奖励。……洎举进士,投文于公卿间,故相郑余庆颇为之延誉,由是知名于时。寻登进士第。宰相董晋出镇大梁,辟为巡官。府除,徐州张建封又请为其宾佐。愈发言真率,无
抗体是由B细胞分泌的①Y形蛋白质,是免疫系统的主要组成部分。以往的②教科书上都指出,抗体的两个结合臂是对称的,以便结合两份同样的③抗原。但荷兰阿姆斯特丹大学的阿尔博斯等人的④研究证明,事实并不尽然;此段中标注的“的”字,删除后会造成句意改变的是(
Caesar密码的密钥最大的可能取值数量是()。
Whethertryingtolivewiththedepressingspectacleofdroughtorbattlingrampagingfloodsorsufferingwithadebilitatingdi
最新回复
(
0
)