首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制一个函数arrangeValue(int inBuf[10][9]),其功能是;将一正整数序列{K1,K2,…,K9)重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K
请编制一个函数arrangeValue(int inBuf[10][9]),其功能是;将一正整数序列{K1,K2,…,K9)重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K
admin
2013-03-05
33
问题
请编制一个函数arrangeValue(int inBuf[10][9]),其功能是;将一正整数序列{K1,K2,…,K9)重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描。函数WriteData()负责将outBuf[]中的数据输出到文件OUT.DAT中。说明;在程序中已给出了10个序列,每个序列中有9个正整数,并存人数组inBuf[10][9]中,分别求出这10个新序列。
例如;序列排序前{3,5,8,9,1,2,6,4,7)
序列排序后{2,l,3,5,8,9,6,4,7)
注意;部分源程序已给出。
请勿改动主函数main()和写函数WriteData()的内容。
试题程序;
#include
void WriteData();
int inBuf[10][9]={ {6,8,9,1,2,5,4,7,3),
{3,5,8,9,1,2,6,4,7),
{8,2,1,9,3,5,4,6,7),
{3,5,1,2,9,8,6,7,4),
{4,7,8,9,1,2,5,3,6),
{4,7,3,5,1,2,6,8,9},
{9,1,3,5,8,6,2,4,7),
{2,6,1,9,8,3,5,7,4),
{5,3,7,9,1,8,2,6,4),
{7,1,3,2,5,8,9,4,6),
};
void arrangeValue()
{
}
void main()
{
int i,j;
arrangeValue();
for(i=0;i<10;i++)
{
for(j=0;j<9;j++)
{
printf("%d",inBuf
[j]);
if(j<=7)printf(",");
}
printf("\n");
}
WriteData();
}
void WriteData()
{
FILE*fp;
int i,j;
fp=fopen("OUT.DAT","w");
for(i=0;i<10;i++)
{
for(j=0;j<9;j++)
{
fprintf(fp,"%d",inBuf
[j]);
if(j<=7)fprintf(fp,",");
}
fprintf(fp,"\n");
}
fclose(fp);
}
选项
答案
void arrangeValue() { int i,j,temp[9],num_low,num_high; for(i=0;i%10;i++) //对10行数据进行扫描 { num_low=0,num_high=8; for(j=8;j>=0;j--) //从最后一列向前扫描 { if(inBuf[i][j]>inBuf[i][0])//如果当前数据比首位数据大 { temp[num_high]=inBuf[i][j]; //将当前数据放到temp中的第hum_high位 num_high; //将存放比首位数据大的数据的下标前移,以指定下次存放的位置 } else { temp[num_low]=inBuf[i][j]; //将当前数据放到temp中的第num_low位 num_low++; //将存放比首位数据小的数据的下标后移,以指定下次存放的位置 } } temp[num_high]=inBuf[i][0]; //将最后留下的位置上存放原数组的首位数据 for(j=0;j<9;j++) inBuf[i][j]=temp[j]; //将temp中的内容复制到inBuf中 } }
解析
本题主要考查数组中数据按指定要求重新排序的方法。从左边开始扫描时,不管是比第一个大的还是小的,都以第一个元素所在的位置来定起始位置,由于第一个元素的位置不确定,所以比第一个元素大的和小的元素的起始存放位置也不能确定。若从右侧开始扫描,则比第一个元素大的和小的元素的起始存放位置是数组的两侧,起始位置固定。程序步骤;1.从右侧开始查找,如果当前元素比第一个元素大,则从数组temp的右侧起存放,反之,则从数组temp的左侧起存放。最后将第一个元素存放在剩下的位置。2.将temp中的值赋给数组inBuf。
转载请注明原文地址:https://kaotiyun.com/show/Sl4Z777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
关于Unix,以下哪种说法是错误的?
关于PC机软件的描述中,以下哪个说法是错误的?
信道可以按照信号传送的方向和时间的关系分为单工、半双工和______三种。
IEEE802标准中,在任何两个站点之间的路径中最多只允许______个中继器,这可以在使用粗缆时将有效的电缆长度延伸到2.5km。
组成一个网络系统所需的设备很多,有电缆、光纤、插头插座、连接器、【 】、网桥、集线器、交换机、路由器、网关、施工工以及附属设备,如电源、机柜、空调、消防设备等。
在令牌环网中,由于各站点使用传输介质的机会均等,其响应时间是可以预测的,所以它比以太网更适合【 】。
在数字信封技术中,发送方首先选择一个称密钥并利用对称密钥加密技术对要发关的信息进行加密,然后再利用公开密钥加密技术并______。
IP地址采用分段地址方式,长度为4个字节,每个字节对应一个【 】进制数。
数字签名和手写签名的区别是
PnP主板主要是支持______。
随机试题
个性具有()
1~3个月小儿呼吸每分钟1~3岁小儿呼吸每分钟
现代自然科学,不是单单研究一个个事物,一个个现象,而是研究事物、现象的变化发展过程,研究事物相互之间的关系,这就使自然科学发展成为严密的综合起来的体系,这是现代自然科学的重要特点。这段文字的主旨是()。
某座33层的高层住宅,其外形尺寸长、宽、高分别为60m、25m、98m,所在地年平均雷暴日为47.4d/a,校正系数k=1.5,下列关于该建筑物防雷设计的表述中哪些是正确的?()
根据企业所得税的有关规定,以下所得,可以享受自项目取得第一笔生产经营收入所属纳税年度起,第一年至第三年免征企业所得税,第四年至第六年减半征收企业所得税的有()。
20世纪70年代,商业银行的风险管理模式进入了()阶段。
濮阳发掘出土一座唐代古塔塔身完整中原地区少见新华网河南频道12月17日讯大河网报道:近日记者从清丰县文物所获悉,11月底,濮阳市文物部门在濮阳清丰县韩村乡杨韩村一唐代寺庙遗址内成功发掘古塔一座。据了解,该塔坐北朝南,塔底距地表约4米,平
王老师在教育教学过程中,注意培养学生良好品德,塑造学生健全人格,不违规加重学生课业负担,以发展的眼光评价学生。王老师这种做法充分体现了()的职业道德。
下列对丝绸之路的描述正确的是()。
A、Shelooksgoodinblue.B、Sheneverwearssweaters.C、Shemightpreferanothercolor.D、Sheenjoysreceivinggifts.Careyous
最新回复
(
0
)