首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件in33.dat中有200个正整数,且每个正整数均在100至9999之间。函数readDat()的功能是读取这 200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存
在文件in33.dat中有200个正整数,且每个正整数均在100至9999之间。函数readDat()的功能是读取这 200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存
admin
2009-02-24
35
问题
在文件in33.dat中有200个正整数,且每个正整数均在100至9999之间。函数readDat()的功能是读取这 200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存入数组bb中,如果数组比中出现后3位相等的数,则对这些数按原始4位数据进行降序排列。最后调用函数writeDat()把结果比输出到文件out33.dat中。
例如:处理前6012 5099 9012 7025 8088
处理后9012 6012 7025 8088 5099
注意:部分源程序已给出。
请勿改动主函数main()、读函数readDat)和写函数writeDat()的内容。
试题程序:
#include
9include
#include
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+l,bb
);
fprintf (out, "%d\n", bb
);
}
fclose (out);
}
选项
答案
void jsSort() { int i, j, data; for (i=O; i<199; i++) for (j=i+l; j<200; j++) { if (aa [ii %1000>aa [j ] %1000) /*按照每个数的后3位的大小进行升序排例*/ { data=aa [i]; aa[ii=aa[j]; aa [j ] =data; } elseif(aa[i]%lOOO==aa[j]%1000) /*如果后3位数值相等,则对这些数值 按原始4位数据进行降序*/ if (aa Ii] <aa [j ] ) { data=aa Iii; aa[ii=aa[j]; aa [ j ] =data; } } for (i=O; i<10; i++) /*将排好序的前十个数存入数组bb中*/ bb[i]=aa[i];
解析
本题考查的知识点如下:
(1)循环结构的嵌套。
(2)选择结构的嵌套。
(3)特殊运算符“%”的使用。
(4)数据的升降序排列。
在该题中,首先要解决的问题是如何把题中4位数转换成符合要求的3位数。这里要用到一个比较特殊的运算符%,它的功能是取余。将4位数除以1000取余则得到要求的3位数。根据题意,若后3位相等,则按照原数据进行降序排序,所以在这里要加一个选择结构进行判断。对数据进行排序,可以使用最简单的“选择排序法”。即第一次从第一个数据开始和所有后面的数据进行比较,与比它大(小)的数据交换位置,将数据中最大(小)的数交换到最前面。第二次从第二个数据开始与后面的数据进行比较,将此次比较中最 (小)的数据交换至第二个位置,直至最后一个数据。
转载请注明原文地址:https://kaotiyun.com/show/QRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下列属于数据库系统阶段特点的是Ⅰ.数据结构化Ⅱ.数据共享性高Ⅲ.独立性高Ⅳ.数据无专门软件管理Ⅴ.冗余度大,不易扩充
下列不是数据字典存储的信息的是
在关系模式R<U,F>中,称满足下面哪一个条件的X→→Y为平凡的多值依赖?
广域网WAN(WideAreaNetwork)也称为远程网,它覆盖的地理范围从几十公里到几千公里,其通信子网主要采用的是【】技术。
设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用二路归并排序法进行排序,下面哪一个序列是第二趟归并后的结果?()A)G,Q,M,Z,A,N,B,P,H,X,
下面关于数据存储方式的叙述中,不止确的是
下列关于信息认证的叙述中,不正确的是()。
对于给出的一组权w={10,12,16,21,30},通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为
下列关于哈夫曼树的叙述错误的是
与对称密码体制如DES相比,RSA的缺点是加密、【】的速度太慢。
随机试题
伊斯兰教古尔邦节的时间是教历()。
A、Waterscootersaregaininginpopularitybecauseofitshighspeedandsafety.B、Theycantraveltotheplaceasmallboatcan
A.甲状腺B超B.甲状腺核素显像C.颈部MRID.穿刺细胞学检查甲状腺结节性增生,其诊断首选的辅助检查是
用于观察细菌动力的是
适用于热结旁流的治则是适用于真寒假热的治则是
什么地方的法院对本案具有管辖权?为什么?如果本案一审判决做出后,江南音像出版公司一家提出上诉,理由是事先有合同的约定,版权问题由北方文化艺术中心负责解决,故构成侵权,应由北方文化艺术中心进行赔偿和道歉,在这种情况下,二审当事人如何列明?
下列选项中哪些属于中国公民不享有选举权的情况?
施工承包企业资质的升级、降级实行资质公告制度,二级及其以下施工承包企业的资质公告由( )发布。
【刀币】南京大学2016年中国古代史基础真题
设A,B都是可逆矩阵,证明可逆,并求它的逆矩阵。
最新回复
(
0
)