首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
32
问题
在文件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://jikaoti.com/ti/10Q7FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下列WindowsXP的系统文件中,与网络及通信功能无关的是
下面关于网络中通信与数据通信的叙述中,正确的是( )。
下面是有关超文本的叙述,其中错误的是
数字彩色图像的数据量很大,分辨率为1024×768的1600万种颜色的彩色图像,若将其数据量压缩到原来的,则一幅图像的数据量大约是【】MB(保留2位小数)。
被连接的汇编语言程序模块中,下面( )分段定义伪指令语句所使用组合类型是不可设为默认的。
DMA数据传送方式中,实现地址的修改与传送字节数计数的主要功能部件是( )。
在CCDOS中,汉字内码采用双字节内码,它与GB2312—80国标码有一定的关系,例如“啊”字的国标码为3021H,其汉字内码为【】H。
80×86指令系统为变长指令系统,包括5个子段,其中规定操作类型的是( )。
嵌入式系统与通用计算机系统软件的相同之处,指的是嵌入式系统通常也具备【67】加载程序,外设【68】程序,操作系统,文件系统,网络协议栈,图形用户界面,数据库,以及各种各样的应用程序等,这些软件都是通用计算机所拥有的。
某ARM处理器内部某功能部件对存储器的保护功能,提供了简单代替存储器管理部件的方法来管理存储器,这个部件用英语缩写为()。
随机试题
某种数制每位上所使用的数码个数称为该数制的________。
传染病病人的安排,可以有两种形式:一是以________为单位,二是以________为单位。
穿心莲具有的功效是
女性,34岁。2年前诊为扩张型心肌病,一直口服药物治疗,症状改善不明显,以下哪种方法可以优先考虑()
下列说法中,不正确的是()。
案例一般资料:求助者,女性,35岁,本科学历,公务员,已婚。案例介绍:求助者与丈夫是大学同学,婚前双方约定不要孩子,但后来丈夫受其母影响,多次要求生孩子,而求助者坚持不要,为此双方产生矛盾,影响了夫妻感情,赌气之下,于春节前离婚。求助者
衰减理论认为()
[*]
一个汉字的内码长度为2字节,其每个字节的最高二进制位的值分别为___________。
"Congratulations,Mr.Cooper,it’sagirl."Fatherhoodisgoingtohaveadifferentmeaningand【31】adifferentresponsefro
最新回复
(
0
)