首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
60
问题
在文件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全国计算机三级
相关试题推荐
程序在数据段中定义数据如下: NUMS DB 20 DB 53 DB’JACK’ 则对应下列指令的描述符中正确的是( )。 Ⅰ LEA DX, NUMS Ⅱ MOVCL, [DX+2]
微处理器各部件之间通过【 】交换信息。
串操作指令中,有REP前缀的串操作指令结束的条件是( )。
下面的指令中不是关系运算符的是( )。
μC/OS-II操作系统启动的过程中,Bootloader执行完毕后,调用应用程序主文件(通常是main.c)里的main()函数。main()函数在执行过程中,除了用户函数和硬件初始化函数之外,需要执行以下三个主要的μC/OS-II函数:Ⅰ.OSSta
IP协议在计算机网络的互连中起着重要的作用。下面有关IP地址的叙述中,错误的是()。
GNU开发工具套件中包含了编译器、连接器、调试器等工具,其中GCC是编译器、连接器工具,【77】是调试器工具。若要对某应用程序进行调试,则在编译该应用程序时,要在编译命令中加人参数【78】。
移植μC/OS—Ⅱ到一个嵌入式系统电路板上正常运行,下面()条件不是必须的。
小端模式下ARM指令序列如下:LDRR0,=0x13579246LDRR1,=0x10000000STRR0,[R1,#8]!执行后,内存0x10000008中的值=【55】,R1=【56】。
按层次次序将一棵有n个结点的完全二叉树的所有结点从1到n编号,当i≤n/2时,编号i的结点的左子女的编号是________。
随机试题
诊断异位妊娠最简单、可靠的指标是
下列关于眼膏剂的说法,正确的是()。
安全生产监督管理有很多形式,有召开各种会议、安全检查、行政许可、行政处罚等。对作业场所的监督检查、行政许可和行政处罚是十分重要的形式。下列属于对作业场所监督检查一般程序内容的是()。
垄断优势理论把跨国公司从事对外直接投资所凭借的垄断优势分为()。
(2016年)人民法院于2015年11月5日受理了债权人提出的针对A公司的破产申请。法院向A公司送达受理裁定,并要求其在15日内提交财产状况说明、债务清册、债权清册等有关资料。A公司以企业管理不善、材料保存不全为由拒绝。管理人在调查债务人财产状况时发现下述
《治安管理处罚法》规定,追究时效期限()
全心全意为人民服务,一个最基本的要求就是()。
有的人认为对法律、制度过度依赖,一出事就责怪法律、制度。有学者指出:社会上缺少东西。对此,你怎么看?
城市建设分为“城上”和“城下”。即地面以上和地面以下。当前大部分城市建设都只注重“城上”,而忽略“城下”,请对此谈谈你的看法。
“中华老字号”沿袭和传承中华民族优秀的文化传统,每个老字号都有特色的产品、技艺或服务。下列按经营服务范围对老字号进行归类正确的是()。
最新回复
(
0
)