首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制一个函数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
2021-06-16
84
问题
请编制一个函数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,1.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(i<=7)fprintf(fp,“.”);
}
fprintf(fP,“\n”);
}
fclose(fp);
}
选项
答案
void arrangeValue() { int i,j,temp[9],hum_low.mum_high; for(i=0;i<10;i++)//对10行数据进行扫描 { mum_low=0,mum_high=8; for(j=8;j>=0;j--) //从最后一列向前扫描 { if(inBuf[i][j]>inBuf[i][0]) //如果当前数据比首位数据大 { temp[num_high]=inBuf[i][j]; //将当前数据放到temp中的第mum high位 mum_high--; //将存放比首位数据大的数据的下标前 移,以指定下次存放的位置 } else { temp[num_low]=inBuf[i][j]; //将当前数据放到temp中的第mum low位 hum_low++} //将存放比首位数据小的数据的下标后 移,以指定下次存放的位置 } } tempEnum_high]=inBuf[i][0]; //在最后留下的位置上存放原数组的首位数据 for(j=0;j<9;j++) inBuf[i][j]=tempEj]; //将temp中的内容复制到inBuf中
解析
题主要考查数组中数据按指定要求重新排序的方法。
从左边开始扫描时。不管是比第一个大的还是小的。都以第一个元素所在的位置来定起始位置,由于第一个元素的位置不确定,所以比第一个元素大的和小的元素的起始存放位1也不能确定。若从右侧开始扫描,则比第一个元素大的和小的元素的起始存放位置是数组的两侧,起始位置固定。
程序步骤:①从右侧开始查找,如果当前元素比第一个元素大,则从数组temp的右侧起存放,反之,则从数组temp的左侧起存放。最后将第一个元素存放在剩下的位置。②将letup中的值赋给数组inBuf。
转载请注明原文地址:https://kaotiyun.com/show/jgOZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
IP地址块211.64.0.0/11的子网掩码可写为()。
下列对STP生成树结构的描述中,错误的是()。
下列关于CiscoAironet1100进入快速配置步骤的描述中,错误的是()。
下列关于RPR技术的描述中,错误的是()。
根据下图所示网络结构回答下列问题。填写路由器RG的路由表项①至⑥。
根据下图所示网络结构回答下列问题。若在Windows主机192.168.64.215上探测数据包传输路径:从本机到主机192.168.66.195,应使用的命令是_________,数据包经过的第2个路由器为_________。
请根据下图所示网络结构回答下列问题。如果将10.10.33.128/25划分3个子网,其中第一个子网能容纳62台主机,另外两个子网分别能容纳16台主机,第1个子网掩码是__________,第3个子网掩码是__________,第1个子网的第1个可用
请根据下图所示网络结构回答下列问题。如果想将图中网络通过防火墙CiscoPIX525接入Intemet.,并且部分内网需要访问外网,需要使用的两个配置命令依次是__________和__________。
如下图所示,3com和Cisco公司的交换机相互连接,在两台交换机之间需传输VLANID为1、10、20和30的4个VLAN信息,Catalyst3548交换机VLANTrunk的正确配置是()。
在Cisco路由器的内存中,主要用于存储启动配置文件(startup-config)或备份配置文件的可读写存储器是
随机试题
Idon’tfeellike_______outtonight.
白色念珠菌是口腔致病力最强的念珠菌之一,原因是
外渗性黏液囊肿的发病病因多为()
女性,20岁。反复发作呼吸困难、胸闷、咳嗽3年,每年秋季发作,可自行缓解,此次已发作半天,症状仍继续加重而来就诊。体检:双肺满布哮呜音,心率90次/分,律齐,无杂音。[假设信息]给予足量特布他林(博利康尼)和氨茶碱治疗1天多病情仍无好转,呼吸困难严重
某工厂的生产线会排放大量废弃物导致大气污染。为了迫使该工厂改变生产流程,减少污染,当地居民决定对该厂销量最大的产品——荧光灯进行联合抵制。因为居民们认为对销售量最大的产品进行抵制能够最大程度地降低该厂的利润。以下哪项如果为真,最能质疑上述推论?()
形成合理有序的收入分配格局,为此要()
下列()不是计算机病毒的特性?
设有读者(借书证号,单位,姓名,职称)和借阅(借书证号,图书编号,借书日期,还书日期)表,查询所有“工程师”读者借阅过的图书编号,正确的SQL语句是
A、学生B、主持人C、当兵的D、公司职员D“外企做了翻译”可见说话人是在外企工作的翻译,也是公司职员,选择D。
Anysubstanceismadeofatomswhetheritisasolid,aliquid,oragas.
最新回复
(
0
)