首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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-15
56
问题
在文件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.dat","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://jikaoti.com/ti/fNh7FFFM
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
城域网是以()网络为开放平台,以()协议为基础,通过各种网络互联设备,实现语音、数据、图像、多媒体视频、IP电话和各种增值业务与智能业务,并与广域计算机网络、广播电视网、电话交换网互联互通的本地综合业务网络。
网络软件开发工具主要包括()、()与标准开发工具。
蓝牙系统的编码方式是()。
进入特权模式的方法及提示符是()。
FastEthernet自动协商过程要求在()内完成。
有两个及两个以上建筑物的电话、数据和电视系统组成的系统称为()。
FTTx+LAN是实现宽带接入的常用方式,基本结构如图13-10所示。本方案采用DHCP来分配网络地址。DHCP是[6]协议的一个扩展,便于客户自动从服务器获取IP地址和相关设置,其中实现IP地址动态分配的过程如下((1)~(4)未按顺序排序):
以太网中如果发生介质访问冲突,按照二进制指数后退算法决定下一次重发的时间,使用二进制后退算法的理由是______。
在实现文件系统时,可采用“目录项分解法”加快文件目录检索速度。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块有64字节,其中文件名占8字节,文件控制块分解后,第一部分占有10字节(包括文件名和文件内部号),第二部分占56字节(包括文件内部号和文件
以下列出了IM系统与其开发公司的对应关系,正确的是()。
随机试题
“反对责任擅断和反对有害追溯”,体现的法律归责原则是()。
红细胞沉降率加速主要是由于
一般排卵发生在月经来潮前
1950年颁布的()为国家土地所有权和集体土地所有权制度的确立奠定了基础。
某房地产开发股份有限公司拟通过竞标方式取得某房地产开发项目,为此委托一家房地产估价机构(以下简称估价机构)提供包括市场分析、项目融资、开发进度、营销计划以及投标报价等内容的咨询报告。双方协定,开发公司在签订委托协议的同时向估价机构支付部分款项,余款在估价机
如何判断经济增长与经济发展二者之间的关系?
干挂石材幕墙采用不锈钢挂件的厚度不宜小于()mm。
监理单位审查安全技术措施和专项施工方案的重点是()。
人们常说“是药三分毒”,但我们生病时还是要吃药,因为我们看重的是那七分的药效。这里蕴含的哲理是()。
下列数据类型中,不属于VBA的是
最新回复
(
0
)