首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制一个函数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
51
问题
请编制一个函数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://www.kaotiyun.com/show/Sl4Z777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
局域网与广域网、广域网与广域网的互联是通过哪种网络设备实现的?
下面哪种技术可以高达2.488Gbps的传输速率?______。
在WWW服务中,统一资源定位符URL由3部分组成,即_______、主机名和路径及文件名。
下列不属于设备管理功能的是_______。
在网络管理中,配置管理的内容可以分为【 】和对设备连接关系的管理。
在网络层中,可以采用有效的办法防止阻塞现象的发生。在阻塞控制方法中,直接对通信子网中分组的数量进行严格、精确的限制,以防止阻塞现象发生的方法为( )
网络操作系统的基本任务是:屏蔽本地资源与网络资源的差异性,为用户提供各种基本网络服务功能,完成网络【 】的管理,并提供网络系统的安全性服务。
NetWare的普通用户是由设定的。
如果采用“蛮力攻击”对密文进行破译,假设计算机的处理速度为1密锔微秒,那么大约时间一定能破译45比特密钥生成的密文。
若循环冗余码的码字中信息位为k位,编码时外加冗余为r位,则编码效率为( )
随机试题
脊髓灰质炎的好发年龄是
刚刚过了秋分________,就觉得突然增加了一些________。填入画横线部分最恰当的一项是()。
王某2008年5月份取得收入3800元,若规定起征点为1500元,采用超额累进税率,应税收入500元以下的,适用税率为5%;应税收入500~2000元的,适用税率为10%;应税收入2000~5000元的,适用税率为15%。则王某应纳税额为( )。
(2020年)2018年10月12日,甲医院向乙公司承租呼吸机10台,双方签订书面合同,约定:租期3个月,每台租金12000元,全部租金120000元于租期届满时一次性支付。双方未约定租赁期间的维修事项。2018年11月11日,1台呼吸机在正常使
集体合同中的一般性规定包括()。
本学期王老师接手了某班的化学课。开学第一天,他就让学生做了一份自编试题,以判断学生化学知识基础与能力的发展水平。这种测试属于()。
城市规划许可具有法律效力,其中所体现的方面不包括()。
费用支出最高的企业是( )利润最高的企业是( )
假如你被选为校研究生新生代表,将代表全体新生在校迎新大会上发言。请写一篇400字以上的演讲稿。
A、It’stoohigh.B、It’sacceptable.C、It’scheapindeed.D、Thewomanshouldhavebargainedforit.C[听力原文]W:Ispent$50onthi
最新回复
(
0
)